[PATCH] selftests/bpf: Set CONFIG_PACKET=y for selftests

Saket Kumar Bhaskar posted 1 patch 3 months ago
tools/testing/selftests/bpf/config | 1 +
1 file changed, 1 insertion(+)
[PATCH] selftests/bpf: Set CONFIG_PACKET=y for selftests
Posted by Saket Kumar Bhaskar 3 months ago
BPF selftest fails to build with below error:

  CLNG-BPF [test_progs] lsm_cgroup.bpf.o
progs/lsm_cgroup.c:105:21: error: variable has incomplete type 'struct sockaddr_ll'
  105 |         struct sockaddr_ll sa = {};
      |                            ^
progs/lsm_cgroup.c:105:9: note: forward declaration of 'struct sockaddr_ll'
  105 |         struct sockaddr_ll sa = {};
      |                ^
1 error generated.

lsm_cgroup selftest requires sockaddr_ll structure which is not there
in vmlinux.h when the kernel is built with CONFIG_PACKET=m.

Enabling CONFIG_PACKET=y ensures that sockaddr_ll is available in vmlinux,
allowing it to be captured in the generated vmlinux.h for bpf selftests.

Reported-by: Sachin P Bappalige <sachinpb@linux.ibm.com>
Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
---
 tools/testing/selftests/bpf/config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/bpf/config b/tools/testing/selftests/bpf/config
index f74e1ea0ad3b..7247833fe623 100644
--- a/tools/testing/selftests/bpf/config
+++ b/tools/testing/selftests/bpf/config
@@ -105,6 +105,7 @@ CONFIG_IP_NF_IPTABLES=y
 CONFIG_IP6_NF_IPTABLES=y
 CONFIG_IP6_NF_FILTER=y
 CONFIG_NF_NAT=y
+CONFIG_PACKET=y
 CONFIG_RC_CORE=y
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
-- 
2.43.5
Re: [PATCH] selftests/bpf: Set CONFIG_PACKET=y for selftests
Posted by Daniel Borkmann 3 months ago
On 7/7/25 9:17 AM, Saket Kumar Bhaskar wrote:
> BPF selftest fails to build with below error:
> 
>    CLNG-BPF [test_progs] lsm_cgroup.bpf.o
> progs/lsm_cgroup.c:105:21: error: variable has incomplete type 'struct sockaddr_ll'
>    105 |         struct sockaddr_ll sa = {};
>        |                            ^
> progs/lsm_cgroup.c:105:9: note: forward declaration of 'struct sockaddr_ll'
>    105 |         struct sockaddr_ll sa = {};
>        |                ^
> 1 error generated.
> 
> lsm_cgroup selftest requires sockaddr_ll structure which is not there
> in vmlinux.h when the kernel is built with CONFIG_PACKET=m.
> 
> Enabling CONFIG_PACKET=y ensures that sockaddr_ll is available in vmlinux,
> allowing it to be captured in the generated vmlinux.h for bpf selftests.
> 
> Reported-by: Sachin P Bappalige <sachinpb@linux.ibm.com>
> Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>

Acked-by: Daniel Borkmann <daniel@iogearbox.net>