UPSTREAM: 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(). Bug: 254441685 Fixes: 324bda9e ("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> (cherry picked from commit 3960f4fd) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: Ia76011cab50355b3342e322e05ec77d0229e9e08
Loading
Please sign in to comment