]> git.itanic.dy.fi Git - linux-stable/commitdiff
md-cluster: Fix potential error pointer dereference in resize_bitmaps()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 4 Aug 2020 10:16:45 +0000 (13:16 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 11:15:15 +0000 (13:15 +0200)
[ Upstream commit e8abe1de43dac658dacbd04a4543e0c988a8d386 ]

The error handling calls md_bitmap_free(bitmap) which checks for NULL
but will Oops if we pass an error pointer.  Let's set "bitmap" to NULL
on this error path.

Fixes: afd756286083 ("md-cluster/raid10: resize all the bitmaps before start reshape")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/md/md-cluster.c

index 73fd50e779754fa4872d1b6da3a49820559029b0..d50737ec4039461476468adbcc6db380d6de921f 100644 (file)
@@ -1139,6 +1139,7 @@ static int resize_bitmaps(struct mddev *mddev, sector_t newsize, sector_t oldsiz
                bitmap = get_bitmap_from_slot(mddev, i);
                if (IS_ERR(bitmap)) {
                        pr_err("can't get bitmap from slot %d\n", i);
+                       bitmap = NULL;
                        goto out;
                }
                counts = &bitmap->counts;