Re: [PATCH v2 bpf-next 1/3] capability: introduce CAP_BPF and CAP_TRACING
From: Alexei Starovoitov <hidden>
Date: 2019-08-29 21:11:00
Also in:
bpf, netdev
On Thu, Aug 29, 2019 at 10:25:30PM +0200, Jesper Dangaard Brouer wrote:
On Thu, 29 Aug 2019 20:05:49 +0200 Toke Høiland-Jørgensen [off-list ref] wrote:quoted
Alexei Starovoitov [off-list ref] writes:quoted
On Thu, Aug 29, 2019 at 09:44:18AM +0200, Toke Høiland-Jørgensen wrote:quoted
Alexei Starovoitov [off-list ref] writes:quoted
CAP_BPF allows the following BPF operations: - Loading all types of BPF programs - Creating all types of BPF maps except: - stackmap that needs CAP_TRACING - devmap that needs CAP_NET_ADMIN - cpumap that needs CAP_SYS_ADMINWhy CAP_SYS_ADMIN instead of CAP_NET_ADMIN for cpumap?Currently it's cap_sys_admin and I think it should stay this way because it creates kthreads.Ah, right. I can sorta see that makes sense because of the kthreads, but it also means that you can use all of XDP *except* cpumap with CAP_NET_ADMIN+CAP_BPF. That is bound to create confusion, isn't it?Hmm... I see 'cpumap' primarily as a network stack feature. It is about starting the network stack on a specific CPU, allocating and building SKBs on that remote CPU. It can only be used together with XDP_REDIRECT. I would prefer CAP_NET_ADMIN like the devmap, to keep the XDP capabilities consistent.
I don't mind relaxing cpumap to cap_net_admin. Looking at the reaction to the rest of the set. I'd rather discuss it and do it later after basic cap_bpf is in.