Address sashiko reviews for BPF syscall common attributes series.
1. The tailing padding bytes in struct bpf_common_attr should be
checked. [1]
2. There was a concurrent regression in syscall.c::map_create(). [2]
3. OPTS_VALID() was missing to validate the nested struct bpf_log_opts
in libbpf. [3]
4. The token_fd should be -1 to avoid a valid token fd in test. [4]
A test is added to verify the fix #1.
The fix #2 is hard to be verified by test. So, I decide not to add a test
for it to avoid over-engineering.
Decide not to add a test for fix #3 to avoid over-engineering, as the
fix looks really simple.
Links:
[1] https://lore.kernel.org/bpf/20260513224823.6494FC19425@smtp.kernel.org/
[2] https://lore.kernel.org/bpf/20260512233658.CEED7C2BCB0@smtp.kernel.org/
[3] https://lore.kernel.org/bpf/20260512235629.C5CABC2BCB0@smtp.kernel.org/
[4] https://lore.kernel.org/bpf/20260513003358.55836C2BCB0@smtp.kernel.org/
Leon Hwang (5):
bpf: Check tail zero of bpf_common_attr using offsetofend
bpf: Fix concurrent regression in map_create()
libbpf: Add OPTS_VALID() for log_opts in bpf_map_create
selftests/bpf: Use -1 as token_fd in map create failure test
selftests/bpf: Add test to verify checking padding bytes for BPF
syscall common attributes
kernel/bpf/syscall.c | 19 +++++++++----
tools/lib/bpf/bpf.c | 3 ++
.../selftests/bpf/prog_tests/map_init.c | 28 ++++++++++++++++++-
3 files changed, 44 insertions(+), 6 deletions(-)
--
2.54.0