Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc3b79d4 authored by Aditya Pakki's avatar Aditya Pakki Committed by Greg Kroah-Hartman
Browse files

md: Fix failed allocation of md_register_thread



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: default avatarGuoqing Jiang <gqjiang@suse.com>
Signed-off-by: default avatarAditya Pakki <pakki001@umn.edu>
Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 01088750
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3959,6 +3959,8 @@ static int raid10_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;
+2 −0
Original line number Diff line number Diff line
@@ -7390,6 +7390,8 @@ static int raid5_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 */