Go to file
Yonghong Song 2cc929275d bpf: Fix an issue in bpf_prog_test_run_xdp when page size greater than 4K
[ Upstream commit 4fc012daf9 ]

The bpf selftest xdp_adjust_tail/xdp_adjust_frags_tail_grow failed on
arm64 with 64KB page:
   xdp_adjust_tail/xdp_adjust_frags_tail_grow:FAIL

In bpf_prog_test_run_xdp(), the xdp->frame_sz is set to 4K, but later on
when constructing frags, with 64K page size, the frag data_len could
be more than 4K. This will cause problems in bpf_xdp_frags_increase_tail().

To fix the failure, the xdp->frame_sz is set to be PAGE_SIZE so kernel
can test different page size properly. With the kernel change, the user
space and bpf prog needs adjustment. Currently, the MAX_SKB_FRAGS default
value is 17, so for 4K page, the maximum packet size will be less than 68K.
To test 64K page, a bigger maximum packet size than 68K is desired. So two
different functions are implemented for subtest xdp_adjust_frags_tail_grow.
Depending on different page size, different data input/output sizes are used
to adapt with different page size.

Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20250612035032.2207498-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Stable-dep-of: e558cca21779 ("bpf, test_run: Subtract size of xdp_frame from allowed metadata size")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-01-17 16:39:33 +01:00
arch arm64: dts: imx8mp: Fix LAN8740Ai PHY reference clock on DH electronics i.MX8M Plus DHCOM 2026-01-17 16:39:29 +01:00
block blk-mq: setup queue ->tag_set before initializing hctx 2026-01-11 15:19:26 +01:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2025-04-25 10:44:04 +02:00
crypto crypto: af_alg - zero initialize memory allocated via sock_kmalloc 2026-01-11 15:19:19 +01:00
Documentation tty: fix tty_port_tty_*hangup() kernel-doc 2026-01-11 15:19:26 +01:00
drivers pinctrl: qcom: lpass-lpi: mark the GPIO controller as sleeping 2026-01-17 16:39:32 +01:00
fs NFSD: Remove NFSERR_EAGAIN 2026-01-17 16:39:33 +01:00
include NFSD: Remove NFSERR_EAGAIN 2026-01-17 16:39:33 +01:00
init init: handle bootloader identifier in kernel parameters 2025-10-19 16:23:13 +02:00
io_uring io_uring: fix filename leak in __io_openat_prep() 2026-01-11 15:18:56 +01:00
ipc ipc: fix to protect IPCS lookups using RCU 2025-06-27 11:07:30 +01:00
kernel kernel/fork: only call untrack_pfn_clear() on VMAs duplicated for fork() 2026-01-11 15:19:27 +01:00
lib lib/crypto: aes: Fix missing MMU protection for AES S-box 2026-01-17 16:39:26 +01:00
LICENSES
mm ksm: use range-walk function to jump over holes in scan_get_next_rmap_item 2026-01-17 16:39:32 +01:00
net bpf: Fix an issue in bpf_prog_test_run_xdp when page size greater than 4K 2026-01-17 16:39:33 +01:00
rust mm/ksm: fix flag-dropping behavior in ksm_madvise 2025-10-29 14:04:43 +01:00
samples samples: work around glibc redefining some of our defines wrong 2026-01-11 15:18:16 +01:00
scripts kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules 2026-01-11 15:19:15 +01:00
security KEYS: trusted: Fix a memory leak in tpm2_load_cmd 2026-01-11 15:18:50 +01:00
sound ALSA: ac97: fix a double free in snd_ac97_controller_register() 2026-01-17 16:39:32 +01:00
tools bpf: Fix an issue in bpf_prog_test_run_xdp when page size greater than 4K 2026-01-17 16:39:33 +01:00
usr kbuild: uapi: Strip comments before size type check 2025-12-07 06:12:28 +09:00
virt KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin() 2024-06-27 13:46:21 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Remove *.orig pattern from .gitignore 2024-10-17 15:21:15 +02:00
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS staging: rtl8712: Remove driver using deprecated API wext 2025-12-07 06:12:45 +09:00
Makefile Linux 6.1.160 2026-01-11 15:19:28 +01:00
README

Linux kernel

There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.

In order to build the documentation, use make htmldocs or make pdfdocs. The formatted documentation can also be read online at:

https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.