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/[email protected]/ [2] https://lore.kernel.org/bpf/[email protected]/ [3] https://lore.kernel.org/bpf/[email protected]/ [4] https://lore.kernel.org/bpf/[email protected]/ 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

