]> git.itanic.dy.fi Git - linux-stable/commitdiff
writeback, cgroup: remove extra percpu_ref_exit()
authorGreg Thelen <gthelen@google.com>
Sat, 20 May 2023 19:46:24 +0000 (12:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 11:57:56 +0000 (12:57 +0100)
5.10 stable commit 2b00b2a0e642 ("writeback, cgroup: fix null-ptr-deref
write in bdi_split_work_to_wbs") is a backport of upstream 6.3 commit
1ba1199ec574.

In the 5.10 stable commit backport percpu_ref_exit() is called twice:
first in cgwb_release_workfn() and then in cgwb_free_rcu(). The 2nd call
is benign as percpu_ref_exit() internally detects there's nothing to do.

This fixes an non-upstream issue that only applies to 5.10.y.

Fixes: 2b00b2a0e642 ("writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs")
Signed-off-by: Greg Thelen <gthelen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/backing-dev.c

index b28f629c3527161d96d309b8009ec7dc120b0bd4..dd08ab928e07119e2e7d2493989f33cd9725dece 100644 (file)
@@ -404,7 +404,6 @@ static void cgwb_release_workfn(struct work_struct *work)
        blkcg_unpin_online(blkcg);
 
        fprop_local_destroy_percpu(&wb->memcg_completions);
-       percpu_ref_exit(&wb->refcnt);
        wb_exit(wb);
        call_rcu(&wb->rcu, cgwb_free_rcu);
 }