selftests/bpf: Fix a test_verifier failure
authorYonghong Song <yonghong.song@linux.dev>
Fri, 28 Jul 2023 01:12:44 +0000 (18:12 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 28 Jul 2023 01:54:16 +0000 (18:54 -0700)
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>
tools/testing/selftests/bpf/verifier/basic_instr.c

index 071dbc8..bd928a7 100644 (file)
        .retval = 1,
 },
 {
-       "invalid 64-bit BPF_END",
+       "invalid 64-bit BPF_END with BPF_TO_BE",
        .insns = {
        BPF_MOV32_IMM(BPF_REG_0, 0),
        {
-               .code  = BPF_ALU64 | BPF_END | BPF_TO_LE,
+               .code  = BPF_ALU64 | BPF_END | BPF_TO_BE,
                .dst_reg = BPF_REG_0,
                .src_reg = 0,
                .off   = 0,
        },
        BPF_EXIT_INSN(),
        },
-       .errstr = "unknown opcode d7",
+       .errstr = "unknown opcode df",
        .result = REJECT,
 },
 {