diff options
| author | Josef Bacik <josef@toxicpanda.com> | 2026-10-28 10:41:04 -0600 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-10-28 15:40:34 -0600 |
| commit | 0e1daaf9b20df2125452846f768a68d8ea280adf (patch) | |
| tree | 2a61e87e93232066fb0de1fd7fb8ceef7f312089 /tools/lib/python | |
| parent | 21b88cc8bafceee6c6c82503e3b2cc6f1d0c78bf (diff) | |
blk-cgroup: keep the old blkg while reassociating a bio
bio_associate_blkg_from_css() drops the bio's old blkg before it looks up
the new one through the css. The css is pinned by the blkg, not by the
bio, so if the cgroup is gone the bio may hold the last reference and the
blkcg can be freed under blkg_tryget_closest(). The rcu_read_lock()
around the whole thing used to cover that, until commit 457d3c4f0fdd
dropped it.
Put the old blkg after the new one has been looked up.
Fixes: 457d3c4f0fdd ("blk-cgroup: don't nest queue_lock under rcu in bio_associate_blkg()")
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://patch.msgid.link/20261028164415.1262013-2-axboe@kernel.dk
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
