diff options
| author | Li Youhong <liyouhong@kylinos.cn> | 2026-09-29 16:39:16 +0800 |
|---|---|---|
| committer | Yu Kuai <yukuai@fygo.io> | 2026-10-04 12:18:36 +0800 |
| commit | af560e357a81964544be40c549e241b032ef7565 (patch) | |
| tree | b3d8c5f39ccbb4668caabadf1933022d930dc77e /tools/lib/python | |
| parent | 900bf42e0ff8009f66ffd4a679c56264957019dd (diff) | |
md/raid5: drain released_stripes before destroying the cache
grow_one_stripe() calls raid5_release_stripe() for each new stripe.
When mddev->thread is already set, that queues the stripe on
conf->released_stripes and wakes the thread. Only raid5d moves that
list onto inactive_list.
Takeover calls setup_conf() while mddev->thread still belongs to the
previous personality, so those stripes stay on released_stripes. If
setup_conf() then fails, shrink_stripes() only frees inactive_list and
kmem_cache_destroy() warns that objects remain.
Move stripes still queued on released_stripes onto inactive_list
before shrink_stripes() frees them.
Fixes: 773ca82fa1ee ("raid5: make release_stripe lockless")
Reported-by: syzbot+6a132745caefcf42cb0d@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/linux-raid/6ab6b743.7eec07f4.c25c.0006.GAE@google.com/T/#t
Signed-off-by: Li Youhong <liyouhong@kylinos.cn>
Link: https://patch.msgid.link/20260929083916.50620-1-dayou5941@163.com
Signed-off-by: Yu Kuai <yukuai@fygo.io>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
