This series fixes BPF_PROG_TEST_RUN copy-out handling for non-linear skbs when userspace provides a short data_out buffer.
Patch 1 fixes bpf_test_finish() to compute the skb linear head copy length from the skb layout instead of deriving it from the clamped copy size. Patch 2 adds a selftest covering a non-linear skb with a short data_out buffer. The test checks that test_run returns -ENOSPC, reports the full packet length through data_size_out, and copies the packet prefix into data_out. Tested with: ./test_progs -t skb_load_bytes Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED ./test_progs -t skb_load_bytes -v test_nonlinear_data_out_partial:PASS:nonlinear_partial_err test_nonlinear_data_out_partial:PASS:nonlinear_partial_data_size_out test_nonlinear_data_out_partial:PASS:nonlinear_partial_data_out Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED ./test_progs -t skb Summary: 14/92 PASSED, 0 SKIPPED, 0 FAILED Sun Jian (2): bpf: Fix partial copy of non-linear skb test_run output selftests/bpf: Cover partial copy of non-linear skb test_run output net/bpf/test_run.c | 11 +++--- .../selftests/bpf/prog_tests/skb_load_bytes.c | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) -- 2.43.0

