From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EDD139734B for ; Sat, 27 Jun 2026 10:52:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782557551; cv=none; b=ZjsnGOWJU7IIklPHdbMrwUia/T2GddXkj0LhzGfoEPadgbx7vT/wIeUGGrbjCOlnUKxRGzkxNpEBPQ0Rgp0O0ja13qSej5gRGE5HOgizwaXqECEoW/BriFrg4KOoAcFZR+Bu1qtEgJjwO3fq1nhxguAZpRZUcu2OAW2T9xIav/A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782557551; c=relaxed/simple; bh=21Hq6ALjxv/93wqb/w2iw1fI969DIwvlDVU4zYpbZok=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=s3AyuP4s8UWJEfT8VM9NRiN2tjkssA26ptJZx26RByNR1PKavW3my8ZDOaqE/etyll7sJFdluP3Oixa9x+5GQ6r7YimahYHUN+EOH3tr/nx3sTLI5JMwljB5xY11qWOFNiLD+qFdmucOs716Qac+Ax46Tq6atOFqn6CwkmUOgZw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UHdGVzPI; arc=none smtp.client-ip=209.85.216.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UHdGVzPI" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-37ce68a54f8so1321051a91.0 for ; Sat, 27 Jun 2026 03:52:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782557548; x=1783162348; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=RZJ799kdyJmydhBAGH9SH2bTgzw3gyEFMe2ta7BOqjo=; b=UHdGVzPI6m6j0CWV/Lv91llsDT6wPv90DpvUy5Bupe4spdMx/3pGJ5t0V2QRwswohQ tE3ns7oLazO+SJ7Gw6XcVZvKkT1uSAs2UcczZdeBV9cjUpTzI4N8Y8IzQBCIIvf98ppt l13c0qpcODKAXlJu0yQiJwxGx6ITIeqQgEB8XwapgPphuN33Zdlvinn5OIMUYdoj4otf DaYfegcUbDj+li9JxDV+b6UY0esD7CfH1HmwF+XOYTbXjKLHQyMWXV+dPp1+N09Spk8E Aw685oftNu5nQmefWSDa4lRbHBoKBU3z+OkqMSG8+6ckz/noXcjtiqXiCbxVIsrtPmBt BYMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782557548; x=1783162348; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=RZJ799kdyJmydhBAGH9SH2bTgzw3gyEFMe2ta7BOqjo=; b=oG5ZN0aZst1OE9SJj1qsbFXK6WpTFtbRIxqHjZ8q7nFkJXEsllAZyTygQgfpvxpoZg 4JLf4X4Ig7xT5UqVwCjhm5flCGXY4HofoaGFU+8AhOFsX+Zf/9oa+PyK6x7vL5r282iW gClY3lX+9SGqaQNrp6JEGzFxYOzHE1QIgnnqOHkad44Yv5CWnmNG5aJkHPW+6KC5mXEH NjPRbEin4lHWgilbnWXJQA181nrpDOPh35H7vrxI/mnUd/kk3Xf0U9z2ADYcn01d5LXE u3+WRGgEE+94M6EwWLIuEkzsTpokQJODDq5dpZLf81ixCv7Vwkg+QSZDZcAGA7dkk8I5 GVLQ== X-Gm-Message-State: AOJu0YxqZIq3KnoyBe2VY3AV5sOqxNJ8CWyu0nR2IE5yMSK5cQZo5hx0 LgOozzP7d6Cmo9Q53Eg8//zlLGv2B/05K7dq9MJY5sUwzI70LTRJ+cBg1Wxk0Q== X-Gm-Gg: AfdE7cn9eR3YtlPN8nHwxe3pPeFFg2ZKb33P+AqYewfFFCDeD1Oa3b8g3epGF9W6RCO 3DMOe+wru8g9cUf0F9WCRHvV8MK8AIlLJtfYQb4mvA3rYzZq1WfdEGBCNbtIQFqmLeOvfaXHe7H OPz0q8xUK1ETJcl0qn6iUn0/xOi9VGYVDHhp2oi9+HFMhUsKuzAZvUKiJ6jT0fn2cOJoBPnQro5 OyycFQJ0k1wcwTvmgOQLJwQPn0OUTDntbiMX8zR80dsIMMrg24nTm1QdakaJq5KPmUj+2ErB46u 66m/W0mnLbNnpBnZISq1ql865u/YWQKlR6wvYColScPIqxMNzbXiOYR2bFCxLHlZbFrRbowgRk8 bULusPLKneAKdLb7RGE1XCBS+HUr7VLU2ayf475An855VcGblGUL87Fn+wjDRPsuefp1Egs9iL6 0xhGhyWoOVwoBvME8j28ji24SCjyIu6ZT76DTdXp3epSrEg4M= X-Received: by 2002:a17:90a:d888:b0:36d:9e0b:3801 with SMTP id 98e67ed59e1d1-37dfa1f02cdmr8414628a91.8.1782557548337; Sat, 27 Jun 2026 03:52:28 -0700 (PDT) Received: from [192.168.8.16] ([154.83.91.239]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c92b9eb8a30sm5036792a12.10.2026.06.27.03.52.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Jun 2026 03:52:28 -0700 (PDT) Message-ID: Date: Sat, 27 Jun 2026 18:52:26 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] md: protect read mddev->recovery in md_sync_action() To: Abd-Alrhman Masalkhi , Chen Cheng , linux-raid@vger.kernel.org, yukuai@fygo.io Cc: linux-kernel@vger.kernel.org References: <20260627102909.141036-1-chencheng@fnnas.com> From: Chen Cheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 在 2026/6/27 18:46, Abd-Alrhman Masalkhi 写道: > On Sat, Jun 27, 2026 at 18:29 +0800, Chen Cheng wrote: >> From: Chen Cheng >> >> md_sync_action() read mddev->recovery in lockless path, use READ_ONCE() >> instead of u64 plain read. >> > unisgned long is not always u64... > I can not see what it fixes, is this just to silence KCSAN? If so, > please say so in the commit message. I need to find KCSAN report , I lost this one, but I think it's easy to find locklessly path to call md_sync_action(), so. READ_ONCE is need. > >> Fixes: e792a4c2156a3 ("md: add new helpers for sync_action") >> >> Signed-off-by: Chen Cheng >> --- >> drivers/md/md.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/md/md.c b/drivers/md/md.c >> index c5c50640b684..f4415c1a79d9 100644 >> --- a/drivers/md/md.c >> +++ b/drivers/md/md.c >> @@ -5074,11 +5074,11 @@ static enum sync_action md_get_active_sync_action(struct mddev *mddev) >> return is_recover ? ACTION_RECOVER : ACTION_IDLE; >> } >> >> enum sync_action md_sync_action(struct mddev *mddev) >> { >> - unsigned long recovery = mddev->recovery; >> + unsigned long recovery = READ_ONCE(mddev->recovery); >> enum sync_action active_action; >> >> /* >> * frozen has the highest priority, means running sync_thread will be >> * stopped immediately, and no new sync_thread can start. >> -- >> 2.54.0 >> >