bpf: Centralize permissions checks for all BPF map types
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 13 Jun 2023 22:35:32 +0000 (15:35 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 19 Jun 2023 12:04:04 +0000 (14:04 +0200)
commit6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde
tree529142270bc25c37d2a49fc15ab078ed9996fb6f
parent22db41226b679768df8f0a4ff5de8e58f625f45b
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
14 files changed:
kernel/bpf/bloom_filter.c
kernel/bpf/bpf_local_storage.c
kernel/bpf/bpf_struct_ops.c
kernel/bpf/cpumap.c
kernel/bpf/devmap.c
kernel/bpf/hashtab.c
kernel/bpf/lpm_trie.c
kernel/bpf/queue_stack_maps.c
kernel/bpf/reuseport_array.c
kernel/bpf/stackmap.c
kernel/bpf/syscall.c
net/core/sock_map.c
net/xdp/xskmap.c
tools/testing/selftests/bpf/prog_tests/unpriv_bpf_disabled.c