diff options
author | Jakub Kicinski <kuba@kernel.org> | 2025-04-21 19:02:18 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-04-21 19:02:19 -0700 |
commit | b1eac30d9bc21cdaff97b2b23000085492efc662 (patch) | |
tree | 9d51202142b92e051b8b27058617ce211f17aace /scripts/gdb/linux/pgtable.py | |
parent | cc3628dcd851ddd8d418bf0c897024b4621ddc92 (diff) | |
parent | 020f0c8b3d396ec8190948f86063e1c45133f839 (diff) | |
download | linux-stable-b1eac30d9bc21cdaff97b2b23000085492efc662.tar.gz linux-stable-b1eac30d9bc21cdaff97b2b23000085492efc662.tar.bz2 linux-stable-b1eac30d9bc21cdaff97b2b23000085492efc662.zip |
Merge branch 'enetc-bug-fixes-for-bpf_xdp_adjust_head-and-bpf_xdp_adjust_tail'
Vladimir Oltean says:
====================
ENETC bug fixes for bpf_xdp_adjust_head() and bpf_xdp_adjust_tail()
It has been reported that on the ENETC driver, bpf_xdp_adjust_head()
and bpf_xdp_adjust_tail() are broken in combination with the XDP_PASS
verdict. I have constructed a series a simple XDP programs and tested
with various packet sizes and confirmed that this is the case.
Patch 3/3 fixes the core issue, which is that the sk_buff created on
XDP_PASS is created by the driver as if XDP never ran, but in fact the
geometry needs to be adjusted according to the delta applied by the
program on the original xdp_buff. It depends on commit 539c1fba1ac7
("xdp: add generic xdp_build_skb_from_buff()") which is not available in
"stable" but perhaps should be.
Patch 2/3 is a small refactor necessary for 3/3.
Patch 1/3 fixes a related issue I noticed, which is that
bpf_xdp_adjust_tail() with a positive offset works for linear XDP
buffers, but returns an error for non-linear ones, even if there is
plenty of space in the final page fragment.
====================
Link: https://patch.msgid.link/20250417120005.3288549-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/pgtable.py')
0 files changed, 0 insertions, 0 deletions