Messages in this thread Patch in this message | | | Date | Thu, 31 Oct 2019 11:54:54 -0000 | From | "tip-bot2 for Paul E. McKenney" <> | Subject | [tip: core/rcu] bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer() |
| |
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 6092f7263f7e56dacf72e383ed7ba9cbabec30e5 Gitweb: https://git.kernel.org/tip/6092f7263f7e56dacf72e383ed7ba9cbabec30e5 Author: Paul E. McKenney <paulmck@kernel.org> AuthorDate: Mon, 23 Sep 2019 15:37:04 -07:00 Committer: Paul E. McKenney <paulmck@kernel.org> CommitterDate: Wed, 30 Oct 2019 08:45:14 -07:00
bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer()
This commit replaces the use of rcu_swap_protected() with the more intuitively appealing rcu_replace_pointer() as a step towards removing rcu_swap_protected().
Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/ Reported-by: Linus Torvalds <torvalds@linux-foundation.org> [ paulmck: From rcu_replace() to rcu_replace_pointer() per Ingo Molnar. ] Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Acked-by: Andrii Nakryiko <andriin@fb.com> Acked-by: Song Liu <songliubraving@fb.com> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Martin KaFai Lau <kafai@fb.com> Cc: Yonghong Song <yhs@fb.com> Cc: <netdev@vger.kernel.org> Cc: <bpf@vger.kernel.org> --- kernel/bpf/cgroup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/bpf/cgroup.c b/kernel/bpf/cgroup.c index ddd8add..c684cf4 100644 --- a/kernel/bpf/cgroup.c +++ b/kernel/bpf/cgroup.c @@ -180,8 +180,8 @@ static void activate_effective_progs(struct cgroup *cgrp, enum bpf_attach_type type, struct bpf_prog_array *old_array) { - rcu_swap_protected(cgrp->bpf.effective[type], old_array, - lockdep_is_held(&cgroup_mutex)); + old_array = rcu_replace_pointer(cgrp->bpf.effective[type], old_array, + lockdep_is_held(&cgroup_mutex)); /* free prog array after grace period, since __cgroup_bpf_run_*() * might be still walking the array */
| |