* [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