summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@linaro.org>2025-01-15 09:53:52 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-02-17 10:05:47 +0100
commit4c42502e905107da13396ee4bc4b94979059bf2f (patch)
treea99244f4e20c17e8bbaf6e2469cdf120a6c521af
parenteb03ebb34873149815629ff6ec4e8d7aa2250cb4 (diff)
downloadlinux-4c42502e905107da13396ee4bc4b94979059bf2f.tar.gz
linux-4c42502e905107da13396ee4bc4b94979059bf2f.tar.bz2
linux-4c42502e905107da13396ee4bc4b94979059bf2f.zip
md/md-linear: Fix a NULL vs IS_ERR() bug in linear_add()
commit 62c552070a980363d55a6082b432ebd1cade7a6e upstream. 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> Reviewed-by: Yu Kuai <yukuai3@huawei.com> Link: https://lore.kernel.org/r/add654be-759f-4b2d-93ba-a3726dae380c@stanley.mountain Signed-off-by: Song Liu <song@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/md/md-linear.c4
1 files 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