Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

selftests/bpf: Move macros to bpf_misc.h

Move the sizeof_field and offsetofend macros from individual test files
to the common bpf_misc.h to avoid duplication.

Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/97a3f3788bd3aec309100bc073a5c77130e371fd.1758094761.git.paul.chaignon@gmail.com

authored by

Paul Chaignon and committed by
Daniel Borkmann
7c60f6e4 6fabca2f

+6 -13
+4
tools/testing/selftests/bpf/progs/bpf_misc.h
··· 167 167 #define __imm_ptr(name) [name]"r"(&name) 168 168 #define __imm_insn(name, expr) [name]"i"(*(long *)&(expr)) 169 169 170 + #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) 171 + #define offsetofend(TYPE, MEMBER) \ 172 + (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER)) 173 + 170 174 /* Magic constants used with __retval() */ 171 175 #define POINTER_VALUE 0xbadcafe 172 176 #define TEST_DATA_LEN 64
+1 -3
tools/testing/selftests/bpf/progs/test_cls_redirect.c
··· 22 22 23 23 #include "bpf_compiler.h" 24 24 #include "test_cls_redirect.h" 25 + #include "bpf_misc.h" 25 26 26 27 #pragma GCC diagnostic ignored "-Waddress-of-packed-member" 27 28 ··· 31 30 #else 32 31 #define INLINING __always_inline 33 32 #endif 34 - 35 - #define offsetofend(TYPE, MEMBER) \ 36 - (offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER))) 37 33 38 34 #define IP_OFFSET_MASK (0x1FFF) 39 35 #define IP_MF (0x2000)
+1 -4
tools/testing/selftests/bpf/progs/test_tcp_hdr_options.c
··· 14 14 #include <bpf/bpf_endian.h> 15 15 #define BPF_PROG_TEST_TCP_HDR_OPTIONS 16 16 #include "test_tcp_hdr_options.h" 17 - 18 - #ifndef sizeof_field 19 - #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) 20 - #endif 17 + #include "bpf_misc.h" 21 18 22 19 __u8 test_kind = TCPOPT_EXP; 23 20 __u16 test_magic = 0xeB9F;
-2
tools/testing/selftests/bpf/progs/verifier_ctx.c
··· 5 5 #include <bpf/bpf_helpers.h> 6 6 #include "bpf_misc.h" 7 7 8 - #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) 9 - 10 8 SEC("tc") 11 9 __description("context stores via BPF_ATOMIC") 12 10 __failure __msg("BPF_ATOMIC stores into R1 ctx is not allowed")
-4
tools/testing/selftests/bpf/progs/verifier_sock.c
··· 5 5 #include <bpf/bpf_helpers.h> 6 6 #include "bpf_misc.h" 7 7 8 - #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) 9 - #define offsetofend(TYPE, MEMBER) \ 10 - (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER)) 11 - 12 8 struct { 13 9 __uint(type, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY); 14 10 __uint(max_entries, 1);