forked from Minki/linux
bpf: Fix bpf_prog_test_run_xdp logic after incorrect merge resolution
During recent net into net-next merge ([0]) a piece of old logic ([1]) got reintroduced accidentally while resolving merge conflict between bpf's [2] and bpf-next's [3]. This check was removed in bpf-next tree to allow extra ctx_in parameter passed for XDP test runs. Reinstating the check breaks bpf_prog_test_run_xdp logic and causes a corresponding xdp_context_test_run selftest failure. Fix by removing the check and allow ctx_in for XDP test runs. [0]5af84df962
("Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net") [1]947e8b595b
("bpf: explicitly prohibit ctx_{in, out} in non-skb BPF_PROG_TEST_RUN") [2]5e21bb4e81
("bpf, test: fix NULL pointer dereference on invalid expected_attach_type") [3]47316f4a30
("bpf: Support input xdp_md context in BPF_PROG_TEST_RUN") Fixes:5af84df962
("Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net") Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
83f3153556
commit
6d4eb36d65
@ -763,8 +763,7 @@ int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr,
|
||||
if (prog->expected_attach_type == BPF_XDP_DEVMAP ||
|
||||
prog->expected_attach_type == BPF_XDP_CPUMAP)
|
||||
return -EINVAL;
|
||||
if (kattr->test.ctx_in || kattr->test.ctx_out)
|
||||
return -EINVAL;
|
||||
|
||||
ctx = bpf_ctx_init(kattr, sizeof(struct xdp_md));
|
||||
if (IS_ERR(ctx))
|
||||
return PTR_ERR(ctx);
|
||||
|
Loading…
Reference in New Issue
Block a user