Re: [RFC v2] bpf.2: Use standard types and attributes
From: Alexei Starovoitov <hidden>
Date: 2021-05-04 14:12:21
Also in:
bpf, lkml
On Tue, May 4, 2021 at 4:05 AM Alejandro Colomar [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Some manual pages are already using C99 syntax for integral types 'uint32_t', but some aren't. There are some using kernel syntax '__u32'. Fix those. Some pages also document attributes, using GNU syntax '__attribute__((xxx))'. Update those to use the shorter and more portable C11 keywords such as 'alignas()' when possible, and C2x syntax '[[gnu::xxx]]' elsewhere, which hasn't been standardized yet, but is already implemented in GCC, and available through either --std=c2x or any of the --std=gnu... options. The standard isn't very clear on how to use alignas() or [[]]-style attributes, so the following link is useful in the case of 'alignas()' and '[[gnu::aligned()]]': <https://stackoverflow.com/q/67271825/6872717> Signed-off-by: Alejandro Colomar <redacted> Cc: LKML <redacted> Cc: glibc <redacted> Cc: GCC <redacted> Cc: Alexei Starovoitov <redacted> Cc: bpf <redacted> Cc: David Laight <redacted> Cc: Zack Weinberg <redacted> Cc: Joseph Myers <redacted> --- man2/bpf.2 | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-)diff --git a/man2/bpf.2 b/man2/bpf.2 index 6e1ffa198..04b8fbcef 100644 --- a/man2/bpf.2 +++ b/man2/bpf.2@@ -186,41 +186,40 @@ commands: .PP .in +4n .EX -union bpf_attr { +union [[gnu::aligned(8)]] bpf_attr { struct { /* Used by BPF_MAP_CREATE */ - __u32 map_type; - __u32 key_size; /* size of key in bytes */ - __u32 value_size; /* size of value in bytes */ - __u32 max_entries; /* maximum number of entries - in a map */ + uint32_t map_type; + uint32_t key_size; /* size of key in bytes */ + uint32_t value_size; /* size of value in bytes */ + uint32_t max_entries; /* maximum number of entries + in a map */
For the same reasons as explained earlier: Nacked-by: Alexei Starovoitov [off-list ref]