bpf: Move unprivileged checks into map_create() and bpf_prog_load()
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 13 Jun 2023 22:35:30 +0000 (15:35 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 19 Jun 2023 12:04:04 +0000 (14:04 +0200)
commit1d28635abcf1914425d6516e641978011984c58a
tree61f1f7064c102c9d9d493f61484e9405845b213b
parentab5d47bd41b1db82c295b0e751e2b822b43a4b5a
bpf: Move unprivileged checks into map_create() and bpf_prog_load()

Make each bpf() syscall command a bit more self-contained, making it
easier to further enhance it. We move sysctl_unprivileged_bpf_disabled
handling down to map_create() and bpf_prog_load(), two special commands
in this regard.

Also swap the order of checks, calling bpf_capable() only if
sysctl_unprivileged_bpf_disabled is true, avoiding unnecessary audit
messages.

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-2-andrii@kernel.org
kernel/bpf/syscall.c