* [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type
@ 2022-01-30 3:03 He Fengqing
2022-01-30 3:24 ` Alexei Starovoitov
0 siblings, 1 reply; 4+ messages in thread
From: He Fengqing @ 2022-01-30 3:03 UTC (permalink / raw)
To: netdev, bpf, linux-kernel
Cc: ast, daniel, andrii, kafai, songliubraving, yhs, john.fastabend
SK_LOOKUP program type was introduced in commit e9ddbb7707ff
("bpf: Introduce SK_LOOKUP program type with a dedicated attach point"),
but the commit did not add SK_LOOKUP program type in net admin prog type.
I think SK_LOOKUP program type should need CAP_NET_ADMIN, so add SK_LOOKUP
program type in net_admin_prog_type.
Fixes: e9ddbb7707ff ("bpf: Introduce SK_LOOKUP program type with a dedicated attach point")
Signed-off-by: He Fengqing <hefengqing@huawei.com>
---
kernel/bpf/syscall.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 9befb1123770..2a8a4a5266fb 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -2163,6 +2163,7 @@ static bool is_net_admin_prog_type(enum bpf_prog_type prog_type)
case BPF_PROG_TYPE_SK_MSG:
case BPF_PROG_TYPE_LIRC_MODE2:
case BPF_PROG_TYPE_FLOW_DISSECTOR:
+ case BPF_PROG_TYPE_SK_LOOKUP:
case BPF_PROG_TYPE_CGROUP_DEVICE:
case BPF_PROG_TYPE_CGROUP_SOCK:
case BPF_PROG_TYPE_CGROUP_SOCK_ADDR:
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type
2022-01-30 3:03 [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type He Fengqing
@ 2022-01-30 3:24 ` Alexei Starovoitov
2022-01-30 12:25 ` Jakub Sitnicki
0 siblings, 1 reply; 4+ messages in thread
From: Alexei Starovoitov @ 2022-01-30 3:24 UTC (permalink / raw)
To: He Fengqing, Jakub Sitnicki, Marek Majkowski
Cc: Network Development, bpf, LKML, Alexei Starovoitov,
Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu,
Yonghong Song, John Fastabend
On Sat, Jan 29, 2022 at 6:16 PM He Fengqing <hefengqing@huawei.com> wrote:
>
> SK_LOOKUP program type was introduced in commit e9ddbb7707ff
> ("bpf: Introduce SK_LOOKUP program type with a dedicated attach point"),
> but the commit did not add SK_LOOKUP program type in net admin prog type.
> I think SK_LOOKUP program type should need CAP_NET_ADMIN, so add SK_LOOKUP
> program type in net_admin_prog_type.
I'm afraid it's too late to change.
Jakub, Marek, wdyt?
> Fixes: e9ddbb7707ff ("bpf: Introduce SK_LOOKUP program type with a dedicated attach point")
>
> Signed-off-by: He Fengqing <hefengqing@huawei.com>
> ---
> kernel/bpf/syscall.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
> index 9befb1123770..2a8a4a5266fb 100644
> --- a/kernel/bpf/syscall.c
> +++ b/kernel/bpf/syscall.c
> @@ -2163,6 +2163,7 @@ static bool is_net_admin_prog_type(enum bpf_prog_type prog_type)
> case BPF_PROG_TYPE_SK_MSG:
> case BPF_PROG_TYPE_LIRC_MODE2:
> case BPF_PROG_TYPE_FLOW_DISSECTOR:
> + case BPF_PROG_TYPE_SK_LOOKUP:
> case BPF_PROG_TYPE_CGROUP_DEVICE:
> case BPF_PROG_TYPE_CGROUP_SOCK:
> case BPF_PROG_TYPE_CGROUP_SOCK_ADDR:
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type
2022-01-30 3:24 ` Alexei Starovoitov
@ 2022-01-30 12:25 ` Jakub Sitnicki
2022-02-01 20:25 ` Alexei Starovoitov
0 siblings, 1 reply; 4+ messages in thread
From: Jakub Sitnicki @ 2022-01-30 12:25 UTC (permalink / raw)
To: Alexei Starovoitov
Cc: He Fengqing, Marek Majkowski, Network Development, bpf, LKML,
Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend
On Sun, Jan 30, 2022 at 04:24 AM CET, Alexei Starovoitov wrote:
> On Sat, Jan 29, 2022 at 6:16 PM He Fengqing <hefengqing@huawei.com> wrote:
>>
>> SK_LOOKUP program type was introduced in commit e9ddbb7707ff
>> ("bpf: Introduce SK_LOOKUP program type with a dedicated attach point"),
>> but the commit did not add SK_LOOKUP program type in net admin prog type.
>> I think SK_LOOKUP program type should need CAP_NET_ADMIN, so add SK_LOOKUP
>> program type in net_admin_prog_type.
>
> I'm afraid it's too late to change.
>
> Jakub, Marek, wdyt?
That's definitely an oversight on my side, considering that CAP_BPF came
in 5.8, and sk_lookup program first appeared in 5.9.
Today it's possible to build a usable sk_lookup program without
CAP_NET_ADMIN if you go for REUSEPORT_SOCKARRAY map instead of
SOCKMAP/HASH.
Best I can come up is a "phase it out" approach. Put the CAP_NET_ADMIN
load-time check behind a config option, defaulting to true?, and wait
for it to become obsolete.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type
2022-01-30 12:25 ` Jakub Sitnicki
@ 2022-02-01 20:25 ` Alexei Starovoitov
0 siblings, 0 replies; 4+ messages in thread
From: Alexei Starovoitov @ 2022-02-01 20:25 UTC (permalink / raw)
To: Jakub Sitnicki
Cc: He Fengqing, Marek Majkowski, Network Development, bpf, LKML,
Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend
On Sun, Jan 30, 2022 at 4:25 AM Jakub Sitnicki <jakub@cloudflare.com> wrote:
>
> On Sun, Jan 30, 2022 at 04:24 AM CET, Alexei Starovoitov wrote:
> > On Sat, Jan 29, 2022 at 6:16 PM He Fengqing <hefengqing@huawei.com> wrote:
> >>
> >> SK_LOOKUP program type was introduced in commit e9ddbb7707ff
> >> ("bpf: Introduce SK_LOOKUP program type with a dedicated attach point"),
> >> but the commit did not add SK_LOOKUP program type in net admin prog type.
> >> I think SK_LOOKUP program type should need CAP_NET_ADMIN, so add SK_LOOKUP
> >> program type in net_admin_prog_type.
> >
> > I'm afraid it's too late to change.
> >
> > Jakub, Marek, wdyt?
>
> That's definitely an oversight on my side, considering that CAP_BPF came
> in 5.8, and sk_lookup program first appeared in 5.9.
>
> Today it's possible to build a usable sk_lookup program without
> CAP_NET_ADMIN if you go for REUSEPORT_SOCKARRAY map instead of
> SOCKMAP/HASH.
>
> Best I can come up is a "phase it out" approach. Put the CAP_NET_ADMIN
> load-time check behind a config option, defaulting to true?, and wait
> for it to become obsolete.
I would keep it as-is then. The trouble doesn't feel worth it.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-01 20:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-30 3:03 [bpf-next] bpf: Add CAP_NET_ADMIN for sk_lookup program type He Fengqing
2022-01-30 3:24 ` Alexei Starovoitov
2022-01-30 12:25 ` Jakub Sitnicki
2022-02-01 20:25 ` Alexei Starovoitov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).