diff options
author | Roman Gushchin | 2018-07-13 21:41:11 +0200 |
---|---|---|
committer | Daniel Borkmann | 2018-07-18 15:01:54 +0200 |
commit | 3960f4fd6585608e8cc285d9665821985494e147 (patch) | |
tree | 3123a66bc1149da0330645b49bb331a482669318 /block | |
parent | bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer (diff) | |
download | kernel-qcow2-linux-3960f4fd6585608e8cc285d9665821985494e147.tar.gz kernel-qcow2-linux-3960f4fd6585608e8cc285d9665821985494e147.tar.xz kernel-qcow2-linux-3960f4fd6585608e8cc285d9665821985494e147.zip |
bpf: fix rcu annotations in compute_effective_progs()
The progs local variable in compute_effective_progs() is marked
as __rcu, which is not correct. This is a local pointer, which
is initialized by bpf_prog_array_alloc(), which also now
returns a generic non-rcu pointer.
The real rcu-protected pointer is *array (array is a pointer
to an RCU-protected pointer), so the assignment should be performed
using rcu_assign_pointer().
Fixes: 324bda9e6c5a ("bpf: multi program support for cgroup+bpf")
Signed-off-by: Roman Gushchin <guro@fb.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions