From: Greg Kroah-Hartman Date: Sat, 11 Mar 2023 09:34:39 +0000 (+0100) Subject: Revert "blk-cgroup: dropping parent refcount after pd_free_fn() is done" X-Git-Tag: v6.1.17~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=deef2947d5f666210c3469e8b7e165c6111ae2fb;p=users%2Fdwmw2%2Flinux.git Revert "blk-cgroup: dropping parent refcount after pd_free_fn() is done" This reverts commit 029f1f1efa84387474b445dac4281cf95a398db8 which is commit c7241babf0855d8a6180cd1743ff0ec34de40b4e upstream. It is reported to cause problems, as only 2 of the 3 patch series were applied to the stable branches. Reported-by: Mike Cloaked Reported-by: Eric Biggers Cc: Yu Kuai Cc: Tejun Heo Cc: Christoph Hellwig Cc: Jens Axboe Cc: Sasha Levin Link: https://bugzilla.kernel.org/show_bug.cgi?id=217174 Link: https://lore.kernel.org/r/ZAuPkCn49urWBN5P@sol.localdomain Signed-off-by: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 8d1b7757f1e4f..7c91d9195da8d 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -93,8 +93,6 @@ static void blkg_free_workfn(struct work_struct *work) if (blkg->pd[i]) blkcg_policy[i]->pd_free_fn(blkg->pd[i]); - if (blkg->parent) - blkg_put(blkg->parent); if (blkg->q) blk_put_queue(blkg->q); free_percpu(blkg->iostat_cpu); @@ -129,6 +127,8 @@ static void __blkg_release(struct rcu_head *rcu) /* release the blkcg and parent blkg refs this blkg has been holding */ css_put(&blkg->blkcg->css); + if (blkg->parent) + blkg_put(blkg->parent); blkg_free(blkg); }