Skip to contentSkip to conversation

Use __aligned_u64 in UAPI fields

PATCH In review Eugene Syromiatnikov 1 participant 1 message May 27, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Use __aligned_u64 in UAPI fields

Hello.

It was discovered during strace development that struct bpf_map_info and struct bpf_prog_info now have different layouts of i386/compat and x86_64. Since it's already broken and bpf syscall has no separate compat (as far as I can see), and the affecting change was introduced recently (in Linux 4.16), it's proposed to change the layout of these structures on 32-bit architectures by using __aligned_u64.

In order to somewhat future-proof from this problem in future, an approach similar to the one implemented in RDMA subsystem recently is proposed: use __aligned_u64 consistently throughout the UAPI header.

Eugene Syromiatnikov (2):
bpf: fix alignment of netns_dev/netns_ino fields in

    bpf_{map,prog}_info

bpf: enforce usage of __aligned_u64 in the UAPI header

 include/uapi/linux/bpf.h       | 30 +++++++++++++++---------------
 tools/include/uapi/linux/bpf.h | 30 +++++++++++++++---------------
 2 files changed, 30 insertions(+), 30 deletions(-)
Signature · 1 line
2.1.4