From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roman Gushchin Subject: [PATCH bpf-next] bpf: fix flags check in bpf_percpu_cgroup_storage_update() Date: Fri, 28 Sep 2018 12:06:48 +0100 Message-ID: <20180928110648.22973-1-guro@fb.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , , Roman Gushchin , Daniel Borkmann , Alexei Starovoitov To: Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Fix an issue in bpf_percpu_cgroup_storage_update(): it should return -EINVAL on an attempt to pass BPF_NOEXIST rather than BPF_EXIST. Cgroup local storage is automatically created on attaching of a bpf program to a cgroup, and it can't be done from the userspace. Fixes: 0daef9b42374 ("bpf: introduce per-cpu cgroup local storage") Signed-off-by: Roman Gushchin Cc: Daniel Borkmann Cc: Alexei Starovoitov --- kernel/bpf/local_storage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/bpf/local_storage.c b/kernel/bpf/local_storage.c index c739f6dcc3c2..190535f6d5e2 100644 --- a/kernel/bpf/local_storage.c +++ b/kernel/bpf/local_storage.c @@ -191,7 +191,7 @@ int bpf_percpu_cgroup_storage_update(struct bpf_map *_map, void *_key, int cpu, off = 0; u32 size; - if (unlikely(map_flags & BPF_EXIST)) + if (map_flags & BPF_NOEXIST) return -EINVAL; rcu_read_lock(); -- 2.17.1