selftests/bpf: Fix redefinition of 'off' as different kind of symbol

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
032676ff82 ("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>
This commit is contained in:
Brahmajit Das
2025-10-17 22:45:51 +05:30
committed by Alexei Starovoitov
parent 7c33e97a6e
commit a1e83d4c03

View 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;
}