summaryrefslogtreecommitdiff
path: root/net/core
diff options
context:
space:
mode:
authorAndrii Nakryiko <andrii@kernel.org>2023-06-14 01:35:32 +0300
committerDaniel Borkmann <daniel@iogearbox.net>2023-06-19 15:04:04 +0300
commit6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde (patch)
tree529142270bc25c37d2a49fc15ab078ed9996fb6f /net/core
parent22db41226b679768df8f0a4ff5de8e58f625f45b (diff)
downloadlinux-6c3eba1c5e283fd2bb1c076dbfcb47f569c3bfde.tar.xz
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 'net/core')
-rw-r--r--net/core/sock_map.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/net/core/sock_map.c b/net/core/sock_map.c
index 00afb66cd095..19538d628714 100644
--- a/net/core/sock_map.c
+++ b/net/core/sock_map.c
@@ -32,8 +32,6 @@ static struct bpf_map *sock_map_alloc(union bpf_attr *attr)
{
struct bpf_stab *stab;
- if (!capable(CAP_NET_ADMIN))
- return ERR_PTR(-EPERM);
if (attr->max_entries == 0 ||
attr->key_size != 4 ||
(attr->value_size != sizeof(u32) &&
@@ -1085,8 +1083,6 @@ static struct bpf_map *sock_hash_alloc(union bpf_attr *attr)
struct bpf_shtab *htab;
int i, err;
- if (!capable(CAP_NET_ADMIN))
- return ERR_PTR(-EPERM);
if (attr->max_entries == 0 ||
attr->key_size == 0 ||
(attr->value_size != sizeof(u32) &&