Commit 62c55207 authored by Dan Carpenter's avatar Dan Carpenter Committed by Song Liu
Browse files

md/md-linear: Fix a NULL vs IS_ERR() bug in linear_add()



The linear_conf() returns error pointers, it doesn't return NULL.  Update
the error checking to match.

Fixes: 127186cf ("md: reintroduce md-linear")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: default avatarYu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/add654be-759f-4b2d-93ba-a3726dae380c@stanley.mountain


Signed-off-by: default avatarSong Liu <song@kernel.org>
parent 3d9a9e9a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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