Thread (11 messages) flat view 11 messages, 4 authors, 2019-09-07

Re: [PATCH v3 bpf-next 2/3] bpf: implement CAP_BPF

From: Song Liu <hidden>
Date: 2019-09-05 02:52:26
Also in: bpf, linux-api

On Sep 4, 2019, at 6:32 PM, Alexei Starovoitov [off-list ref] wrote:

On Thu, Sep 05, 2019 at 12:34:36AM +0000, Song Liu wrote:
quoted
quoted
On Sep 4, 2019, at 11:43 AM, Alexei Starovoitov [off-list ref] wrote:

Implement permissions as stated in uapi/linux/capability.h

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
[...]
quoted
@@ -1648,11 +1648,11 @@ static int bpf_prog_load(union bpf_attr *attr, union bpf_attr __user *uattr)
	is_gpl = license_is_gpl_compatible(license);

	if (attr->insn_cnt == 0 ||
-	    attr->insn_cnt > (capable(CAP_SYS_ADMIN) ? BPF_COMPLEXITY_LIMIT_INSNS : BPF_MAXINSNS))
+	    attr->insn_cnt > (capable_bpf() ? BPF_COMPLEXITY_LIMIT_INSNS : BPF_MAXINSNS))
		return -E2BIG;
	if (type != BPF_PROG_TYPE_SOCKET_FILTER &&
	    type != BPF_PROG_TYPE_CGROUP_SKB &&
-	    !capable(CAP_SYS_ADMIN))
+	    !capable_bpf())
		return -EPERM;
Do we allow load BPF_PROG_TYPE_SOCKET_FILTER and BPF_PROG_TYPE_CGROUP_SKB
without CAP_BPF? If so, maybe highlight in the header?
of course. there is no change in behavior.
'highlight in the header'?
you mean in commit log?
I think it's a bit weird to describe things in commit that patch
is _not_ changing vs things that patch does actually change.
This type of comment would be great in a doc though.
The doc will be coming separately in the follow up assuming
the whole thing lands. I'll remember to note that bit.
I meant capability.h:

+ * CAP_BPF allows the following BPF operations:
+ * - Loading all types of BPF programs

But CAP_BPF is not required to load all types of programs. 

On a second thought, I am not sure whether we will keep capability.h
up to date with all features. So this is probably OK. 

Thanks,
Song
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help