Re: [PATCH] md/raid5: drain released_stripes before destroying the cache

From: yu kuai

Date: Sun Oct 04 2026 - 00:18:20 EST


在 2026/9/29 16:39, Li Youhong 写道:

> From: Li Youhong<liyouhong@xxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxxxxxxxxxxxx
> Closes:https://lore.kernel.org/linux-raid/6ab6b743.7eec07f4.c25c.0006.GAE@xxxxxxxxxx/T/#t
> Signed-off-by: Li Youhong<liyouhong@xxxxxxxxxx>
> ---
> drivers/md/raid5.c | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
Applied to md-7.4

--
Thanks,
Kuai