From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76D1C3264E0 for ; Wed, 30 Sep 2026 18:52:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790794350; cv=none; b=P7aA9qtAihDwbar4ZNz3XFj6+5A3ct+6JqvSmf2tjYt9Qhws5bdzB06NzdPoKhTN444GUIY+UKjID97s1vh9WB3478L5NMBEt/lzkb0Cf/SXK/Q3nJ/DwAvjiwuwoXWC7u2oBOcRr+ZVH5BySeWrMCu3NnsPt5/X2MIp3Ae0V28= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790794350; c=relaxed/simple; bh=o4+TLTyyMvgI12WFW0IeXZXvIALn0sav3lfpJLbjAFA=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=dUzzlmNR/jo8K8VWgT8laQBZyBPrVvBOAivuEHwp32jGuRycokTJs+hXNgsi5zbgK8MTNHmNayOAi/fwEZuJ6WscNkgVE5O8OutYOwQ1Ne41oQghtCBY6XvBh2pTa3Hzl38bDuJ9cpj0cz+iAnYO+QayaeVHsygqQuvfouMpDEs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JZZx3WrV; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JZZx3WrV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4DB6B1F000FF; Wed, 30 Sep 2026 18:52:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790794349; bh=VfwG5sLbZddowBxjGebus9Qy9UHZyGseIJ7a0UZDNek=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=JZZx3WrVr4L/jqJSSUj1g7jDQLEBOgS1AMYJy00HR+fUffRzs5Xcl54cqCKpQHtT0 e549Sh1XPb3oPAJYdtpQFuRxSkFalv0WZDqF+l0GUG3yqTx4IMqjC47UO4D8ZNqKNt Y0FIwCXy8PvCsLmVk96uGZ5g0bc3ycgj/MqoBBN/0hx0Xcjoi0YviFcFKjObbfAYDV eHnGVLlfu08yS5Q01n+fiqiR9o8CUf9mc3tKZTpqmDuRT3aNgCkaLh6coF0hYipdKi AaI05ieeF81VgWkSek5ddO89F/+OKvODqLMKSG8Hz3uZ03/yRDnXNd/WOXpLocq4hG FFsIIzHh1UdOg== Received: from sofa.misterjones.org ([185.219.108.64] helo=lobster-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xBzPm-0000000FSQB-3Oz1; Wed, 30 Sep 2026 18:52:26 +0000 Date: Wed, 30 Sep 2026 19:55:35 +0100 Message-ID: <87o6de36xk.wl-maz@kernel.org> From: Marc Zyngier To: Vladimir Murzin Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, tglx@kernel.org, radu@rendec.net Subject: Re: [PATCH] irqchip/gic-v3: Ensure change to DS is visible In-Reply-To: <20260930161123.46368-1-vladimir.murzin@arm.com> References: <20260930161123.46368-1-vladimir.murzin@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: vladimir.murzin@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, tglx@kernel.org, radu@rendec.net X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Wed, 30 Sep 2026 17:11:23 +0100, Vladimir Murzin wrote: > > Sashiko reported missing GIC synchronization when the > FLAGS_WORKAROUND_INSECURE path modifies DS. Specifically, an immediate > read of the DS state after the write might not observe the effect of > that write, which can lead to misreporting the DS state. > > Updates to the DS bit are tracked by RWP, so poll it after the write > before proceeding to read back the DS state. > > Signed-off-by: Vladimir Murzin > --- > drivers/irqchip/irq-gic-v3.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c > index 6e1fa5b247fc..181f6eb11732 100644 > --- a/drivers/irqchip/irq-gic-v3.c > +++ b/drivers/irqchip/irq-gic-v3.c > @@ -164,6 +164,7 @@ static inline bool gic_dist_security_disabled(void) > > static bool cpus_have_security_disabled __ro_after_init; > static bool cpus_have_group0 __ro_after_init; > +static void gic_dist_wait_for_rwp(void); > > static void __init gic_prio_init(void) > { > @@ -179,6 +180,7 @@ static void __init gic_prio_init(void) > val = readl_relaxed(gic_data.dist_base + GICD_CTLR); > val |= GICD_CTLR_DS; > writel_relaxed(val, gic_data.dist_base + GICD_CTLR); > + gic_dist_wait_for_rwp(); > > ds = gic_dist_security_disabled(); > if (ds) Ah, well spotted. FWIW: Reviewed-by: Marc Zyngier M. -- Jazz isn't dead. It just smells funny.