From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> 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@xxxxxxxxxx> Reviewed-by: Yu Kuai <yukuai3@xxxxxxxxxx> Link: https://lore.kernel.org/r/add654be-759f-4b2d-93ba-a3726dae380c@stanley.mountain Signed-off-by: Song Liu <song@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/md/md-linear.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/md/md-linear.c +++ b/drivers/md/md-linear.c @@ -204,8 +204,8 @@ static int linear_add(struct mddev *mdde 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 Patches currently in stable-queue which might be from dan.carpenter@xxxxxxxxxx are queue-6.12/nfc-nci-add-bounds-checking-in-nci_hci_create_pipe.patch queue-6.12/ksmbd-fix-integer-overflows-on-32-bit-systems.patch queue-6.12/md-md-linear-fix-a-null-vs-is_err-bug-in-linear_add.patch queue-6.12/binfmt_flat-fix-integer-overflow-bug-on-32-bit-systems.patch queue-6.12/tipc-re-order-conditions-in-tipc_crypto_key_rcv.patch