OSDN Git Service

selftests/bpf: verifier/unpriv converted to inline assembly
authorEduard Zingerman <eddyz87@gmail.com>
Fri, 21 Apr 2023 17:42:32 +0000 (20:42 +0300)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 21 Apr 2023 19:26:52 +0000 (12:26 -0700)
commit82887c2568e4f78d5cfcb85bf3cdc056dfd97c85
tree8b0a1dd515525c0daf9a74fe0b61c8b9614f95b0
parent81d1d6dd4037755b98bf9b9f9d0dbd715b1734e5
selftests/bpf: verifier/unpriv converted to inline assembly

Test verifier/unpriv semi-automatically converted to use inline assembly.

The verifier/unpriv.c had to be split in two parts:
- the bulk of the tests is in the progs/verifier_unpriv.c;
- the single test that needs `struct bpf_perf_event_data`
  definition is in the progs/verifier_unpriv_perf.c.

The tests above can't be in a single file because:
- first requires inclusion of the filter.h header
  (to get access to BPF_ST_MEM macro, inline assembler does
   not support this isntruction);
- the second requires vmlinux.h, which contains definitions
  conflicting with filter.h.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20230421174234.2391278-23-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/verifier.c
tools/testing/selftests/bpf/progs/verifier_unpriv.c [new file with mode: 0644]
tools/testing/selftests/bpf/progs/verifier_unpriv_perf.c [new file with mode: 0644]
tools/testing/selftests/bpf/verifier/unpriv.c [deleted file]