]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/bpf: Move macros to bpf_misc.h
authorPaul Chaignon <paul.chaignon@gmail.com>
Wed, 17 Sep 2025 08:09:26 +0000 (10:09 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 17 Sep 2025 14:15:37 +0000 (16:15 +0200)
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
tools/testing/selftests/bpf/progs/bpf_misc.h
tools/testing/selftests/bpf/progs/test_cls_redirect.c
tools/testing/selftests/bpf/progs/test_tcp_hdr_options.c
tools/testing/selftests/bpf/progs/verifier_ctx.c
tools/testing/selftests/bpf/progs/verifier_sock.c

index 7905396c9cc4e26d272cd5f236e41d2cf2294030..1004c4a64aafb9c6d886e25b110139eba688f5f4 100644 (file)
 #define __imm_ptr(name) [name]"r"(&name)
 #define __imm_insn(name, expr) [name]"i"(*(long *)&(expr))
 
+#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
+#define offsetofend(TYPE, MEMBER) \
+       (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER))
+
 /* Magic constants used with __retval() */
 #define POINTER_VALUE  0xbadcafe
 #define TEST_DATA_LEN  64
index 823169fb6e4c7f2d55522e5e12945122aa6ea4cc..26a53e54b8fa2198302b58b026a809e16827054d 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "bpf_compiler.h"
 #include "test_cls_redirect.h"
+#include "bpf_misc.h"
 
 #pragma GCC diagnostic ignored "-Waddress-of-packed-member"
 
@@ -31,9 +32,6 @@
 #define INLINING __always_inline
 #endif
 
-#define offsetofend(TYPE, MEMBER) \
-       (offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER)))
-
 #define IP_OFFSET_MASK (0x1FFF)
 #define IP_MF (0x2000)
 
index 5f4e87ee949ad1d03f02e221dc0e45496b85e19d..1ecdf4c54de41f342ad1c45a9b39fbab8efa16b5 100644 (file)
 #include <bpf/bpf_endian.h>
 #define BPF_PROG_TEST_TCP_HDR_OPTIONS
 #include "test_tcp_hdr_options.h"
-
-#ifndef sizeof_field
-#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
-#endif
+#include "bpf_misc.h"
 
 __u8 test_kind = TCPOPT_EXP;
 __u16 test_magic = 0xeB9F;
index 424463094760ac0f3a943be2e07a4df5cca4dc3c..b927906aa305a95d312b141d3b7ecee701edde76 100644 (file)
@@ -5,8 +5,6 @@
 #include <bpf/bpf_helpers.h>
 #include "bpf_misc.h"
 
-#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
-
 SEC("tc")
 __description("context stores via BPF_ATOMIC")
 __failure __msg("BPF_ATOMIC stores into R1 ctx is not allowed")
index 0d5e56dffabb8c07f1c0422326afd95ea28ad854..bf88c644eb303885a4f00551c3a96e8b0dea8a4c 100644 (file)
@@ -5,10 +5,6 @@
 #include <bpf/bpf_helpers.h>
 #include "bpf_misc.h"
 
-#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
-#define offsetofend(TYPE, MEMBER) \
-       (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER))
-
 struct {
        __uint(type, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY);
        __uint(max_entries, 1);