Re: [PATCH -next 3/7] md: don't rely on 'mddev->pers' to be set in mddev_suspend()
From: Song Liu <song@kernel.org>
Date: 2023-08-22 03:12:37
Also in:
lkml
From: Song Liu <song@kernel.org>
Date: 2023-08-22 03:12:37
Also in:
lkml
On Mon, Aug 21, 2023 at 7:08 PM Yu Kuai [off-list ref] wrote:
Hi, 在 2023/08/22 8:13, Song Liu 写道:quoted
On Thu, Aug 3, 2023 at 6:30 AM Yu Kuai [off-list ref] wrote:quoted
From: Yu Kuai <redacted> Now that active io is initialized when mddev is allocated, it's safe to call mddev_suspend() before 'mddev->pers' is set. This also prevent null-ptr-def in some cases that caller doesn't guarantee 'mddev->pers' to be set.This description is a little confusing (to me at least). Please revise it.Sorry about this, how about this: 'active_io' used to be initialized while the array is running, and 'mddev->pers' is set while the array is running as well. Hence caller must hold 'reconfig_mutex' and guarantee 'mddev->pers' is set before calling mddev_suspend(). Now that 'active_io' is initialized when mddev is allocated, such restriction doesn't exist anymore. In the meantime, follow up patches will refactor mddev_suspend(), hence add checking for 'mddev->pers' to prevent null-ptr-deref.
This is much better. Thanks! Song