[PATCH v4 0/4] blk-cgroup: fix blkg list and policy data races
Yu Kuai <[email protected]> Sun, 2 Aug 2026 19:25:21 +0800
| Newsgroups | org.kernel.vger.cgroups,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Yu Kuai <[email protected]> This set fix some problems that are reported long time ago with minimal changes, the blkcg_mutex refactor I'm working on can fix these problems as well, but it's complicated and may not land in this merge window. So I think this set should land in this merge window first. Patch 1 protects blkg_destroy_all()'s q->blkg_list walk with blkcg_mutex. Patches 2-3 fix races between blkcg_activate_policy() and concurrent blkg destruction. Patch 4 factors the policy data teardown loop into a helper after the race fixes. Changes since v3: - Rebase on the latest for-7.3/block branch. Changes since v2: - Rebase on the latest block-7.2 branch. Changes since v1: - Drop the BFQ q->blkg_list patch because the current block tree already has a stronger fix in commit 17b2d950a3c0 ("block, bfq: protect async queue reset with blkcg locks"). - Add Reviewed-by tags from Tang Yizhou. Yu Kuai (1): blk-cgroup: protect q->blkg_list iteration in blkg_destroy_all() with blkcg_mutex Zheng Qixing (3): blk-cgroup: fix race between policy activation and blkg destruction blk-cgroup: skip dying blkg in blkcg_activate_policy() blk-cgroup: factor policy pd teardown loop into helper block/blk-cgroup.c | 65 +++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 30 deletions(-) -- 2.51.0