summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/prog_tests/tracing_struct.c
diff options
context:
space:
mode:
authorMartin KaFai Lau <martin.lau@kernel.org>2025-10-10 09:47:04 -0700
committerMartin KaFai Lau <martin.lau@kernel.org>2025-10-10 10:43:04 -0700
commit7dc484fe481e5cc5b850fc1aa974a46e0f29ed68 (patch)
treef6bd442ece2caefa9b6f852d1c1976f0cc5ba75a /tools/testing/selftests/bpf/prog_tests/tracing_struct.c
parent2e36338df42d64955236d9f9b665d1443fd74f8c (diff)
parentbc3eeb42597a514a0b5286f085d91c8b34e4a532 (diff)
Merge branch 'support-non-linear-skbs-for-bpf_prog_test_run'
Paul Chaignon says: ==================== Support non-linear skbs for BPF_PROG_TEST_RUN This patchset adds support for non-linear skbs when running tc programs with BPF_PROG_TEST_RUN. We've had multiple bugs in the past few years in Cilium caused by missing calls to bpf_skb_pull_data(). Daniel suggested to support non linear skb in BPF_PROG_TEST_RUN to uncover these bugs in our BPF tests. Changes in v8: - Fix uninitialized data pointer spotted by Martin. - Error out in test_loader if __linear_size tag is used on unsupported program types. Changes in v7: - Refactor use of 'size' variable as suggested by Martin. - Support copying back the non-linear area to data_out. - Minor code changes for readability, suggested by Martin. Changes in v6: - Disallow non-linear skb in prog_run_skb only for LWT programs instead of all non-L2 program types, on suggestion from Martin. - Reject non-null ctx->data and ctx->data_meta, as suggested by Amery. - Bound linear_size to 'PAGE_SIZE - headroom - tailroom' to be consistent with prog_run_xdp, as suggested by Martin. - Allocate exactly linear_size bytes in bpf_test_init, spotted by Martin. - Fix wrong conflict resolution on double-free fix, spotted by Amery. - Rebased. Changes in v5: - Fix double free on data in first patch. Changes in v4: - Per Martin's suggestion, follow the XDP code pattern and use bpf_test_init only to initialize the linear area. That way data is directly copied to the right areas and we avoid the call to __pskb_pull_tail. - Fixed outdated commit descriptions. - Rebased. Changes in v3: - Dropped BPF_F_TEST_SKB_NON_LINEAR and used the ctx->data_end to determine if the user wants non-linear skb, as suggested by Amery. - Introduced a second commit with a bit of refactoring to allow for the above requested change. - Fix bug found by syzkaller on third commit. - Rebased. Changes in v2: - Made the linear size configurable via ctx->data_end, as suggested by Amery. - Reworked the selftests to allow testing the configurable linear size. - Fix warnings reported by kernel test robot on first commit. - Rebased. ==================== Link: https://patch.msgid.link/cover.1760037899.git.paul.chaignon@gmail.com Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/tracing_struct.c')
0 files changed, 0 insertions, 0 deletions