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

Commit a6d8113a authored by Dan Williams's avatar Dan Williams Committed by Linus Torvalds
Browse files

md: fix uninitialized use of mddev->recovery_wait



If an array was created with --assume-clean we will oops when trying to
set ->resync_max.

Fix this by initializing ->recovery_wait in mddev_find.

Cc: <stable@kernel.org>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e0a115e5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -276,6 +276,7 @@ static mddev_t * mddev_find(dev_t unit)
	atomic_set(&new->active, 1);
	spin_lock_init(&new->write_lock);
	init_waitqueue_head(&new->sb_wait);
	init_waitqueue_head(&new->recovery_wait);
	new->reshape_position = MaxSector;
	new->resync_max = MaxSector;
	new->level = LEVEL_NONE;
@@ -5665,7 +5666,6 @@ void md_do_sync(mddev_t *mddev)
		window/2,(unsigned long long) max_sectors/2);

	atomic_set(&mddev->recovery_active, 0);
	init_waitqueue_head(&mddev->recovery_wait);
	last_check = 0;

	if (j>2) {