Re: [PATCH] restore behaviour of CAP_SYS_ADMIN allowing the loading of net bpf program

From: Alexei Starovoitov
Date: Thu Jun 18 2020 - 17:02:18 EST


On Thu, Jun 18, 2020 at 1:00 PM Maciej Åenczykowski
<zenczykowski@xxxxxxxxx> wrote:
>
> From: Maciej Åenczykowski <maze@xxxxxxxxxx>
>
> This is a 5.8-rc1 regression.

Please add full explanation here.

Also use [PATCH bpf] in the subject for future submission.

> Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
> Fixes: 2c78ee898d8f ("bpf: Implement CAP_BPF")

Reported-by: John
is missing?

> Signed-off-by: Maciej Åenczykowski <maze@xxxxxxxxxx>
> ---
> kernel/bpf/syscall.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
> index 8da159936bab..7d946435587d 100644
> --- a/kernel/bpf/syscall.c
> +++ b/kernel/bpf/syscall.c
> @@ -2121,7 +2121,7 @@ static int bpf_prog_load(union bpf_attr *attr, union bpf_attr __user *uattr)
> !bpf_capable())
> return -EPERM;
>
> - if (is_net_admin_prog_type(type) && !capable(CAP_NET_ADMIN))
> + if (is_net_admin_prog_type(type) && !capable(CAP_NET_ADMIN) && !capable(CAP_SYS_ADMIN))
> return -EPERM;
> if (is_perfmon_prog_type(type) && !perfmon_capable())
> return -EPERM;
> --
> 2.27.0.290.gba653c62da-goog
>