Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/bpf: Fix a test_verifier failure

The following test_verifier subtest failed due to
new encoding for BSWAP.

$ ./test_verifier
...
#99/u invalid 64-bit BPF_END FAIL
Unexpected success to load!
verification time 215 usec
stack depth 0
processed 3 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
#99/p invalid 64-bit BPF_END FAIL
Unexpected success to load!
verification time 198 usec
stack depth 0
processed 3 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0

Tighten the test so it still reports a failure.

Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20230728011244.3717464-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Yonghong Song and committed by
Alexei Starovoitov
86180493 f835bb62

+3 -3
+3 -3
tools/testing/selftests/bpf/verifier/basic_instr.c
··· 176 176 .retval = 1, 177 177 }, 178 178 { 179 - "invalid 64-bit BPF_END", 179 + "invalid 64-bit BPF_END with BPF_TO_BE", 180 180 .insns = { 181 181 BPF_MOV32_IMM(BPF_REG_0, 0), 182 182 { 183 - .code = BPF_ALU64 | BPF_END | BPF_TO_LE, 183 + .code = BPF_ALU64 | BPF_END | BPF_TO_BE, 184 184 .dst_reg = BPF_REG_0, 185 185 .src_reg = 0, 186 186 .off = 0, ··· 188 188 }, 189 189 BPF_EXIT_INSN(), 190 190 }, 191 - .errstr = "unknown opcode d7", 191 + .errstr = "unknown opcode df", 192 192 .result = REJECT, 193 193 }, 194 194 {