[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230316175051.922550-1-aleksander.lobakin@intel.com>
Date: Thu, 16 Mar 2023 18:50:49 +0100
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>
Cc: Alexander Lobakin <aleksander.lobakin@...el.com>,
Maciej Fijalkowski <maciej.fijalkowski@...el.com>,
Larysa Zaremba <larysa.zaremba@...el.com>,
Toke Høiland-Jørgensen <toke@...hat.com>,
Ilya Leoshkevich <iii@...ux.ibm.com>,
Song Liu <song@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
Jakub Kicinski <kuba@...nel.org>, bpf@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH bpf-next 0/2] double-fix bpf_test_run + XDP_PASS recycling
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
Powered by blists - more mailing lists