[PATCH v5 3/8] md: clean up invalid BUG_ON in md_ioctl

linan666@huaweicloud.com posted 8 patches 1 year, 10 months ago
There is a newer version of this series
[PATCH v5 3/8] md: clean up invalid BUG_ON in md_ioctl
Posted by linan666@huaweicloud.com 1 year, 10 months ago
From: Li Nan <linan122@huawei.com>

'disk->private_data' is set to mddev in md_alloc() and never set to NULL,
and users need to open mddev before submitting ioctl. So mddev must not
have been freed during ioctl, and there is no need to check mddev here.
Clean up it.

Signed-off-by: Li Nan <linan122@huawei.com>
---
 drivers/md/md.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 3b4e0ef49675..656080086052 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7647,11 +7647,6 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode,
 
 	mddev = bdev->bd_disk->private_data;
 
-	if (!mddev) {
-		BUG();
-		goto out;
-	}
-
 	/* Some actions do not requires the mutex */
 	switch (cmd) {
 	case GET_ARRAY_INFO:
-- 
2.39.2
Re: [PATCH v5 3/8] md: clean up invalid BUG_ON in md_ioctl
Posted by Yu Kuai 1 year, 10 months ago
在 2024/02/01 14:33, linan666@huaweicloud.com 写道:
> From: Li Nan <linan122@huawei.com>
> 
> 'disk->private_data' is set to mddev in md_alloc() and never set to NULL,
> and users need to open mddev before submitting ioctl. So mddev must not
> have been freed during ioctl, and there is no need to check mddev here.
> Clean up it.
> 
> Signed-off-by: Li Nan <linan122@huawei.com>
> ---
>   drivers/md/md.c | 5 -----
>   1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/md/md.c b/drivers/md/md.c
> index 3b4e0ef49675..656080086052 100644
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -7647,11 +7647,6 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode,
>   
>   	mddev = bdev->bd_disk->private_data;
>   
> -	if (!mddev) {
> -		BUG();

Given that this BUG() never triggered before.

Reviewed-by: Yu Kuai <yukuai3@huawei.com>

> -		goto out;
> -	}
> -
>   	/* Some actions do not requires the mutex */
>   	switch (cmd) {
>   	case GET_ARRAY_INFO:
>