diff options
| author | Martin KaFai Lau <martin.lau@kernel.org> | 2026-03-24 01:52:50 +0300 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-03-24 18:47:33 +0300 |
| commit | 280de43e88c0ed3ac453dde05ccb7e72dca01780 (patch) | |
| tree | 2e4257984ede256a63b053d71b5f338143ca0e01 | |
| parent | 03b7b389fe88ce07d3b91e2d6b07ee67a3281d4c (diff) | |
| download | linux-280de43e88c0ed3ac453dde05ccb7e72dca01780.tar.xz | |
bpf: Remove ipv6_bpf_stub usage in test_run
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 <kuba@kernel.org>
Cc: Fernando Fernandez Mancera <fmancera@suse.de>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Reviewed-by: Sun Jian <sun.jian.kdev@gmail.com>
Reviewed-by: Fernando Fernandez Mancera <fmancera@suse.de>
Link: https://lore.kernel.org/r/20260323225250.1623542-1-martin.lau@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
| -rw-r--r-- | net/bpf/test_run.c | 7 |
1 files 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 |
