summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c
diff options
context:
space:
mode:
authorAndrii Nakryiko <andrii@kernel.org>2023-06-13 15:35:32 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2023-06-19 14:04:04 +0200
commit6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde (patch)
tree529142270bc25c37d2a49fc15ab078ed9996fb6f /tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c
parent22db41226b679768df8f0a4ff5de8e58f625f45b (diff)
downloadlinux-stable-6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde.tar.gz
linux-stable-6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde.tar.bz2
linux-stable-6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde.zip
bpf: Centralize permissions checks for all BPF map types
This allows to do more centralized decisions later on, and generally makes it very explicit which maps are privileged and which are not (e.g., LRU_HASH and LRU_PERCPU_HASH, which are privileged HASH variants, as opposed to unprivileged HASH and HASH_PERCPU; now this is explicit and easy to verify). Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Stanislav Fomichev <sdf@google.com> Link: https://lore.kernel.org/bpf/20230613223533.3689589-4-andrii@kernel.org
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c')
-rw-r--r--tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c b/tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c
index 8383a99f610f..0adf8d9475cb 100644
--- a/tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c
+++ b/tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c
@@ -171,7 +171,11 @@ static void test_unpriv_bpf_disabled_negative(struct test_unpriv_bpf_disabled *s
prog_insns, prog_insn_cnt, &load_opts),
-EPERM, "prog_load_fails");
- for (i = BPF_MAP_TYPE_HASH; i <= BPF_MAP_TYPE_BLOOM_FILTER; i++)
+ /* some map types require particular correct parameters which could be
+ * sanity-checked before enforcing -EPERM, so only validate that
+ * the simple ARRAY and HASH maps are failing with -EPERM
+ */
+ for (i = BPF_MAP_TYPE_HASH; i <= BPF_MAP_TYPE_ARRAY; i++)
ASSERT_EQ(bpf_map_create(i, NULL, sizeof(int), sizeof(int), 1, NULL),
-EPERM, "map_create_fails");