selftests/bpf: Unprivileged tests for test_loader.c
authorEduard Zingerman <eddyz87@gmail.com>
Sat, 25 Mar 2023 02:54:44 +0000 (04:54 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 26 Mar 2023 00:02:02 +0000 (17:02 -0700)
commit1d56ade032a49b2042f43b3f6bdf116928064267
tree3dd1e6fd69333ea0b42f6b1621a4270327138396
parent207b1ba3019100d862931e97b49f76ff1e0a89f2
selftests/bpf: Unprivileged tests for test_loader.c

Extends test_loader.c:test_loader__run_subtests() by allowing to
execute tests in unprivileged mode, similar to test_verifier.c.

Adds the following new attributes controlling test_loader behavior:

  __msg_unpriv
  __success_unpriv
  __failure_unpriv

* If any of these attributes is present the test would be loaded in
  unprivileged mode.
* If only "privileged" attributes are present the test would be loaded
  only in privileged mode.
* If both "privileged" and "unprivileged" attributes are present the
  test would be loaded in both modes.
* If test has to be executed in both modes, __msg(text) is specified
  and __msg_unpriv is not specified the behavior is the same as if
  __msg_unpriv(text) is specified.
* For test filtering purposes the name of the program loaded in
  unprivileged mode is derived from the usual program name by adding
  `@unpriv' suffix.

Also adds attribute '__description'. This attribute specifies text to
be used instead of a program name for display and filtering purposes.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20230325025524.144043-4-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/Makefile
tools/testing/selftests/bpf/autoconf_helper.h [new file with mode: 0644]
tools/testing/selftests/bpf/progs/bpf_misc.h
tools/testing/selftests/bpf/test_loader.c
tools/testing/selftests/bpf/test_verifier.c
tools/testing/selftests/bpf/unpriv_helpers.c [new file with mode: 0644]
tools/testing/selftests/bpf/unpriv_helpers.h [new file with mode: 0644]