]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/bpf: Fix redefinition of 'off' as different kind of symbol
authorBrahmajit Das <listout@listout.xyz>
Fri, 17 Oct 2025 17:15:51 +0000 (22:45 +0530)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 17 Oct 2025 18:33:23 +0000 (11:33 -0700)
This fixes the following build error

   CLNG-BPF [test_progs] verifier_global_ptr_args.bpf.o
progs/verifier_global_ptr_args.c:228:5: error: redefinition of 'off' as
different kind of symbol
   228 | u32 off;
       |     ^

The symbol 'off' was previously defined in
tools/testing/selftests/bpf/tools/include/vmlinux.h, which includes an
enum i40e_ptp_gpio_pin_state from
drivers/net/ethernet/intel/i40e/i40e_ptp.c:

enum i40e_ptp_gpio_pin_state {
end = -2,
invalid = -1,
off = 0,
in_A = 1,
in_B = 2,
out_A = 3,
out_B = 4,
};

This enum is included when CONFIG_I40E is enabled. As of commit
032676ff8217 ("LoongArch: Update Loongson-3 default config file"),
CONFIG_I40E is set in the defconfig, which leads to the conflict.

Renaming the local variable avoids the redefinition and allows the
build to succeed.

Suggested-by: Yonghong Song <yonghong.song@linux.dev>
Signed-off-by: Brahmajit Das <listout@listout.xyz>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20251017171551.53142-1-listout@listout.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/verifier_global_ptr_args.c

index 6630a92b1b47e75019ef8d4c7e5ee7e069766083..1204fbc58178e0fdd9944e3fbf94213f6ee4d2d4 100644 (file)
@@ -225,7 +225,7 @@ int trusted_to_untrusted(void *ctx)
 }
 
 char mem[16];
-u32 off;
+u32 offset;
 
 SEC("tp_btf/sys_enter")
 __success
@@ -240,9 +240,9 @@ int anything_to_untrusted(void *ctx)
        /* scalar to untrusted */
        subprog_untrusted(0);
        /* variable offset to untrusted (map) */
-       subprog_untrusted((void *)mem + off);
+       subprog_untrusted((void *)mem + offset);
        /* variable offset to untrusted (trusted) */
-       subprog_untrusted((void *)bpf_get_current_task_btf() + off);
+       subprog_untrusted((void *)bpf_get_current_task_btf() + offset);
        return 0;
 }
 
@@ -298,12 +298,12 @@ int anything_to_untrusted_mem(void *ctx)
        /* scalar to untrusted mem */
        subprog_void_untrusted(0);
        /* variable offset to untrusted mem (map) */
-       subprog_void_untrusted((void *)mem + off);
+       subprog_void_untrusted((void *)mem + offset);
        /* variable offset to untrusted mem (trusted) */
-       subprog_void_untrusted(bpf_get_current_task_btf() + off);
+       subprog_void_untrusted(bpf_get_current_task_btf() + offset);
        /* variable offset to untrusted char/enum (map) */
-       subprog_char_untrusted(mem + off);
-       subprog_enum_untrusted((void *)mem + off);
+       subprog_char_untrusted(mem + offset);
+       subprog_enum_untrusted((void *)mem + offset);
        return 0;
 }