[PATCH bpf 0/2] Use __aligned_u64 in UAPI fields

From: Eugene Syromiatnikov
Date: Sun May 27 2018 - 07:27:52 EST


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(-)

--
2.1.4