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

From: Yu Kuai
Date: Wed Jan 15 2025 - 02:32:11 EST


在 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@xxxxxxxxxx>
---
drivers/md/md-linear.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

LGTM
Reviewed-by: Yu Kuai <yukuai3@xxxxxxxxxx>

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