]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/5.0.4/md-fix-failed-allocation-of-md_register_thread.patch
Linux 5.0.4
[thirdparty/kernel/stable-queue.git] / releases / 5.0.4 / md-fix-failed-allocation-of-md_register_thread.patch
CommitLineData
8b570cdf
GKH
1From e406f12dde1a8375d77ea02d91f313fb1a9c6aec Mon Sep 17 00:00:00 2001
2From: Aditya Pakki <pakki001@umn.edu>
3Date: Mon, 4 Mar 2019 16:48:54 -0600
4Subject: md: Fix failed allocation of md_register_thread
5
6From: Aditya Pakki <pakki001@umn.edu>
7
8commit e406f12dde1a8375d77ea02d91f313fb1a9c6aec upstream.
9
10mddev->sync_thread can be set to NULL on kzalloc failure downstream.
11The patch checks for such a scenario and frees allocated resources.
12
13Committer node:
14
15Added similar fix to raid5.c, as suggested by Guoqing.
16
17Cc: stable@vger.kernel.org # v3.16+
18Acked-by: Guoqing Jiang <gqjiang@suse.com>
19Signed-off-by: Aditya Pakki <pakki001@umn.edu>
20Signed-off-by: Song Liu <songliubraving@fb.com>
21Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22
23---
24 drivers/md/raid10.c | 2 ++
25 drivers/md/raid5.c | 2 ++
26 2 files changed, 4 insertions(+)
27
28--- a/drivers/md/raid10.c
29+++ b/drivers/md/raid10.c
30@@ -3939,6 +3939,8 @@ static int raid10_run(struct mddev *mdde
31 set_bit(MD_RECOVERY_RUNNING, &mddev->recovery);
32 mddev->sync_thread = md_register_thread(md_do_sync, mddev,
33 "reshape");
34+ if (!mddev->sync_thread)
35+ goto out_free_conf;
36 }
37
38 return 0;
39--- a/drivers/md/raid5.c
40+++ b/drivers/md/raid5.c
41@@ -7402,6 +7402,8 @@ static int raid5_run(struct mddev *mddev
42 set_bit(MD_RECOVERY_RUNNING, &mddev->recovery);
43 mddev->sync_thread = md_register_thread(md_do_sync, mddev,
44 "reshape");
45+ if (!mddev->sync_thread)
46+ goto abort;
47 }
48
49 /* Ok, everything is just fine now */