From: Martin KaFai Lau bpf_prog_test_run_skb() uses net->ipv6.ip6_null_entry for BPF_PROG_TYPE_LWT_XMIT test runs. It currently checks ipv6_bpf_stub before using ip6_null_entry. ipv6_bpf_stub will be removed by the CONFIG_IPV6=m support removal series posted at [1], so switch this check to ipv6_mod_enabled() instead. This change depends on that series [1]. Without it, CONFIG_IPV6=m is still possible, and net->ipv6.ip6_null_entry remains NULL until the IPv6 module is loaded. [1] https://lore.kernel.org/netdev/20260320185649.5411-1-fmancera@suse.de/ Cc: Jakub Kicinski Cc: Fernando Fernandez Mancera Signed-off-by: Martin KaFai Lau --- net/bpf/test_run.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c index 56bc8dc1e281..fb25184ed03b 100644 --- a/net/bpf/test_run.c +++ b/net/bpf/test_run.c @@ -1157,15 +1157,12 @@ int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, } if (prog->type == BPF_PROG_TYPE_LWT_XMIT) { - if (!ipv6_bpf_stub) { - pr_warn_once("Please test this program with the IPv6 module loaded\n"); + if (!ipv6_mod_enabled()) { + pr_warn_once("Please test this program with IPv6 enabled kernel\n"); ret = -EOPNOTSUPP; goto out; } #if IS_ENABLED(CONFIG_IPV6) - /* For CONFIG_IPV6=n, ipv6_bpf_stub is NULL which is - * handled by the above if statement. - */ dst_hold(&net->ipv6.ip6_null_entry->dst); skb_dst_set(skb, &net->ipv6.ip6_null_entry->dst); #endif -- 2.52.0