lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat,  1 Jun 2024 17:06:08 +0800
From: linan666@...weicloud.com
To: agk@...hat.com,
	snitzer@...nel.org,
	mpatocka@...hat.com,
	song@...nel.org,
	yukuai3@...wei.com,
	xni@...hat.com
Cc: dm-devel@...ts.linux.dev,
	linux-kernel@...r.kernel.org,
	linan666@...weicloud.com,
	yi.zhang@...wei.com,
	houtao1@...wei.com,
	yangerkun@...wei.com
Subject: [PATCH] md/dm-raid: don't clear MD_RECOVERY_FROZEN after setting frozen

From: Li Nan <linan122@...wei.com>

MD_RECOVERY_FROZEN should always remain set after array is frozen. But
in raid_message(), this flag is cleared soon after frozen. Fix it. This
flag will be cleared in md_idle_sync_thread(), there is no need to clear
it again for idle.

Fixes: cd32b27a66db ("md/dm-raid: don't call md_reap_sync_thread() directly")
Signed-off-by: Li Nan <linan122@...wei.com>
---
 drivers/md/dm-raid.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
index abe88d1e6735..466740a3a522 100644
--- a/drivers/md/dm-raid.c
+++ b/drivers/md/dm-raid.c
@@ -3744,9 +3744,10 @@ static int raid_message(struct dm_target *ti, unsigned int argc, char **argv,
 
 		md_idle_sync_thread(mddev);
 		mddev_unlock(mddev);
+	} else {
+		clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
 	}
 
-	clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
 	if (decipher_sync_action(mddev, mddev->recovery) != st_idle)
 		return -EBUSY;
 	else if (!strcasecmp(argv[0], "resync"))
-- 
2.39.2


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ