]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Mar 2019 10:23:29 +0000 (11:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Mar 2019 10:23:29 +0000 (11:23 +0100)
added patches:
md-fix-failed-allocation-of-md_register_thread.patch

queue-3.18/md-fix-failed-allocation-of-md_register_thread.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/md-fix-failed-allocation-of-md_register_thread.patch b/queue-3.18/md-fix-failed-allocation-of-md_register_thread.patch
new file mode 100644 (file)
index 0000000..39ab0ab
--- /dev/null
@@ -0,0 +1,49 @@
+From e406f12dde1a8375d77ea02d91f313fb1a9c6aec Mon Sep 17 00:00:00 2001
+From: Aditya Pakki <pakki001@umn.edu>
+Date: Mon, 4 Mar 2019 16:48:54 -0600
+Subject: md: Fix failed allocation of md_register_thread
+
+From: Aditya Pakki <pakki001@umn.edu>
+
+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>
+
+---
+ drivers/md/raid10.c |    2 ++
+ drivers/md/raid5.c  |    2 ++
+ 2 files changed, 4 insertions(+)
+
+--- a/drivers/md/raid10.c
++++ b/drivers/md/raid10.c
+@@ -3836,6 +3836,8 @@ static int run(struct mddev *mddev)
+               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;
+--- a/drivers/md/raid5.c
++++ b/drivers/md/raid5.c
+@@ -6171,6 +6171,8 @@ static int run(struct mddev *mddev)
+               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 */
index 115f084651354b7b1334a8807ecdc8c278cdccbe..24c1a9def6d9338cb3a2923fca5eda9f7a1a0784 100644 (file)
@@ -130,3 +130,4 @@ powerpc-83xx-also-save-restore-sprg4-7-during-suspend.patch
 arm-s3c24xx-fix-boolean-expressions-in-osiris_dvs_notify.patch
 nfsd-fix-memory-corruption-caused-by-readdir.patch
 nfsd-fix-wrong-check-in-write_v4_end_grace.patch
+md-fix-failed-allocation-of-md_register_thread.patch