summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 73e0b59)
raw | patch | inline | side by side (parent: 73e0b59)
author | Aditya Pakki <pakki001@umn.edu> | |
Mon, 4 Mar 2019 22:48:54 +0000 (16:48 -0600) | ||
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
Sat, 23 Mar 2019 13:35:30 +0000 (14:35 +0100) |
commit e406f12dde1a8375d77ea02d91f313fb1a9c6aec upstream.
mddev->sync_thread can be set to NULL on kzalloc failure downstream.
The patch checks for such a scenario and frees allocated resources.
Committer node:
Added similar fix to raid5.c, as suggested by Guoqing.
Cc: stable@vger.kernel.org # v3.16+
Acked-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mddev->sync_thread can be set to NULL on kzalloc failure downstream.
The patch checks for such a scenario and frees allocated resources.
Committer node:
Added similar fix to raid5.c, as suggested by Guoqing.
Cc: stable@vger.kernel.org # v3.16+
Acked-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/raid10.c | patch | blob | history | |
drivers/md/raid5.c | patch | blob | history |
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index ed1b7bf1ec0e42dff8a4f2f6543082b1df89c2f3..433e78f453da9a8dde182aeff73c4e62aa554598 100644 (file)
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
set_bit(MD_RECOVERY_RUNNING, &mddev->recovery);
mddev->sync_thread = md_register_thread(md_do_sync, mddev,
"reshape");
+ if (!mddev->sync_thread)
+ goto out_free_conf;
}
return 0;
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 7dbb74cd506ad7a1f20fd104246d1f0c5dd1633c..77a482c6eeda3612585851ccf2d98c0de03967f6 100644 (file)
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
set_bit(MD_RECOVERY_RUNNING, &mddev->recovery);
mddev->sync_thread = md_register_thread(md_do_sync, mddev,
"reshape");
+ if (!mddev->sync_thread)
+ goto abort;
}
/* Ok, everything is just fine now */