[PATCH bpf-next 0/2] double-fix bpf_test_run + XDP_PASS recycling

From: Alexander Lobakin
Date: Thu Mar 16 2023 - 13:52:58 EST


Enabling skb PP recycling revealed a couple issues in the bpf_test_run
code. Recycling broke the assumption that the headroom won't ever be
touched during the test_run execution: xdp_scrub_frame() invalidates the
XDP frame at the headroom start, while neigh xmit code overwrites 2 bytes
to the left of the Ethernet header. The first makes the kernel panic in
certain cases, while the second breaks xdp_do_redirect selftest on BE.
test_run is a limited-scope entity, so let's hope no more corner cases
will happen here or at least they will be as easy and pleasant to fix
as those two.

Alexander Lobakin (2):
bpf, test_run: fix crashes due to XDP frame overwriting/corruption
selftests/bpf: fix "metadata marker" getting overwritten by the
netstack

net/bpf/test_run.c | 12 +++++++++++-
.../selftests/bpf/prog_tests/xdp_do_redirect.c | 7 ++++---
.../selftests/bpf/progs/test_xdp_do_redirect.c | 2 +-
3 files changed, 16 insertions(+), 5 deletions(-)

--
2.39.2