[PATCH next] md/md-linear: Fix a NULL vs IS_ERR() bug in linear_add()

Dan Carpenter posted 1 patch 11 months ago
drivers/md/md-linear.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH next] md/md-linear: Fix a NULL vs IS_ERR() bug in linear_add()
Posted by Dan Carpenter 11 months ago
The linear_conf() returns error pointers, it doesn't return NULL.  Update
the error checking to match.

Fixes: 127186cfb184 ("md: reintroduce md-linear")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/md/md-linear.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c
index 53bc3fda9edb..a382929ce7ba 100644
--- a/drivers/md/md-linear.c
+++ b/drivers/md/md-linear.c
@@ -204,8 +204,8 @@ static int linear_add(struct mddev *mddev, struct md_rdev *rdev)
 	rdev->saved_raid_disk = -1;
 
 	newconf = linear_conf(mddev, mddev->raid_disks + 1);
-	if (!newconf)
-		return -ENOMEM;
+	if (IS_ERR(newconf))
+		return PTR_ERR(newconf);
 
 	/* newconf->raid_disks already keeps a copy of * the increased
 	 * value of mddev->raid_disks, WARN_ONCE() is just used to make
-- 
2.45.2
Re: [PATCH next] md/md-linear: Fix a NULL vs IS_ERR() bug in linear_add()
Posted by Yu Kuai 11 months ago
在 2025/01/15 14:53, Dan Carpenter 写道:
> The linear_conf() returns error pointers, it doesn't return NULL.  Update
> the error checking to match.
> 
> Fixes: 127186cfb184 ("md: reintroduce md-linear")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>   drivers/md/md-linear.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
LGTM
Reviewed-by: Yu Kuai <yukuai3@huawei.com>

> diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c
> index 53bc3fda9edb..a382929ce7ba 100644
> --- a/drivers/md/md-linear.c
> +++ b/drivers/md/md-linear.c
> @@ -204,8 +204,8 @@ static int linear_add(struct mddev *mddev, struct md_rdev *rdev)
>   	rdev->saved_raid_disk = -1;
>   
>   	newconf = linear_conf(mddev, mddev->raid_disks + 1);
> -	if (!newconf)
> -		return -ENOMEM;
> +	if (IS_ERR(newconf))
> +		return PTR_ERR(newconf);
>   
>   	/* newconf->raid_disks already keeps a copy of * the increased
>   	 * value of mddev->raid_disks, WARN_ONCE() is just used to make
>