You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
selftests/bpf: Add a test case to write mtu result into .rodata
Add a test which attempts to call bpf_check_mtu() and writes the MTU
into .rodata section of the BPF program, and for comparison this adds
test cases also for .bss and .data section again. The bpf_check_mtu()
is a bit more special in that the passed mtu argument is read and
written by the helper (instead of just written to). Assert that writes
into .rodata remain rejected by the verifier.
# ./vmtest.sh -- ./test_progs -t verifier_const
[...]
./test_progs -t verifier_const
[ 1.657367] bpf_testmod: loading out-of-tree module taints kernel.
[ 1.657773] bpf_testmod: module verification failed: signature and/or required key missing - tainting kernel
torvalds#473/1 verifier_const/rodata/strtol: write rejected:OK
torvalds#473/2 verifier_const/bss/strtol: write accepted:OK
torvalds#473/3 verifier_const/data/strtol: write accepted:OK
torvalds#473/4 verifier_const/rodata/mtu: write rejected:OK
torvalds#473/5 verifier_const/bss/mtu: write accepted:OK
torvalds#473/6 verifier_const/data/mtu: write accepted:OK
torvalds#473 verifier_const:OK
[...]
Summary: 2/10 PASSED, 0 SKIPPED, 0 FAILED
For comparison, without the MEM_UNINIT on bpf_check_mtu's proto:
# ./vmtest.sh -- ./test_progs -t verifier_const
[...]
torvalds#473/3 verifier_const/data/strtol: write accepted:OK
run_subtest:PASS:obj_open_mem 0 nsec
run_subtest:FAIL:unexpected_load_success unexpected success: 0
torvalds#473/4 verifier_const/rodata/mtu: write rejected:FAIL
torvalds#473/5 verifier_const/bss/mtu: write accepted:OK
torvalds#473/6 verifier_const/data/mtu: write accepted:OK
torvalds#473 verifier_const:FAIL
[...]
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/r/20240913191754.13290-9-daniel@iogearbox.net
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
0 commit comments