]>
Commit | Line | Data |
---|---|---|
8b570cdf GKH |
1 | From e406f12dde1a8375d77ea02d91f313fb1a9c6aec Mon Sep 17 00:00:00 2001 |
2 | From: Aditya Pakki <pakki001@umn.edu> | |
3 | Date: Mon, 4 Mar 2019 16:48:54 -0600 | |
4 | Subject: md: Fix failed allocation of md_register_thread | |
5 | ||
6 | From: Aditya Pakki <pakki001@umn.edu> | |
7 | ||
8 | commit e406f12dde1a8375d77ea02d91f313fb1a9c6aec upstream. | |
9 | ||
10 | mddev->sync_thread can be set to NULL on kzalloc failure downstream. | |
11 | The patch checks for such a scenario and frees allocated resources. | |
12 | ||
13 | Committer node: | |
14 | ||
15 | Added similar fix to raid5.c, as suggested by Guoqing. | |
16 | ||
17 | Cc: stable@vger.kernel.org # v3.16+ | |
18 | Acked-by: Guoqing Jiang <gqjiang@suse.com> | |
19 | Signed-off-by: Aditya Pakki <pakki001@umn.edu> | |
20 | Signed-off-by: Song Liu <songliubraving@fb.com> | |
21 | Signed-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 */ |