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 6A131424646 for ; Thu, 24 Sep 2026 17:29:31 +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=1790270972; cv=none; b=bAQXRpAfwZwO5LJDgUhwsmOWmbAZ9w106FUUxnkIzvUw4zog9InvaisSZA0O2jroCnhSVOghe/xv/XFFERCezwvWMatDFsGsnGtocXo1+XCdX9DnRoa3PsWr5rGVp4xMuOJ7sFjjhfz6VF97fmKUV06jsLSTotuZUB1YjWuMU0M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790270972; c=relaxed/simple; bh=oHmJkn2PXJNVZLP5UXOTbpMf7O9SfwaOdWRuDpI+jm0=; h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References: MIME-Version:Content-Type; b=CFUKEyOO3q95yfuAxfxwkx3jAuL+7/fSwBhFsKCmUyLS1FU/enwkzdZ/C8USYPg7NGI98YTHx1m54zyIbIOj9/vroxovSWSeBTy/W6KKMH7mA+7yksb6IUHhDxqyXCQP/IeNfzKRZFzvJbQaCs3C8phv+kPhqZj04ZoXXTXuMM4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=h0gEL18A; 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="h0gEL18A" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 008801F000FF; Thu, 24 Sep 2026 17:29:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790270971; bh=LGhEdzHOKmu/eRgXKiCEX9gNoHS+6ZJVhoJgxOgxGqA=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=h0gEL18A0n0UViV6WFhpZxzB1GebdW9MnUkXyatmpL2Q4XmYE8T6M2dn4Y9feslkL hazVaKZXWMY38rfeoXXOs5meEpygAWyNcTjWFfTrNhjMwJ/dVXHeY3Bf9PNNDODcKB r0ePU+DWymjoBle4YI3+diyzifDMydoVuf0nbAcRR9M2zf7112PkU6aTz7GJd9T0IE JZeESZyroFDW43y3Ta6WWLFCOXEWltACv/LSv48/skdZEavKdEd/dw4O7j3E/ivRgj Yl9drdXm+n9Oa1pVGcqNY2lYkmuFzP77znSNr5RvAaB9CIc6PuKhW5nySbny92uvUj owJnbOCMOytWA== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-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 1x9nGC-0000000D7xF-3HVC; Thu, 24 Sep 2026 17:29:28 +0000 Date: Thu, 24 Sep 2026 18:29:28 +0100 Message-ID: <86pky24kxz.wl-maz@kernel.org> From: Marc Zyngier To: Fuad Tabba Cc: Thomas Gleixner , Radu Rendec , James Morse , Will Deacon , Fuad Tabba , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/3] irqchip/gic-v3: Don't register a redistributor that was never counted In-Reply-To: <20260924161514.1112730-4-fuad.tabba@linux.dev> References: <20260924161514.1112730-1-fuad.tabba@linux.dev> <20260924161514.1112730-4-fuad.tabba@linux.dev> 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: fuad.tabba@linux.dev, tglx@kernel.org, radu@rendec.net, james.morse@arm.com, will@kernel.org, tabba@google.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false On Thu, 24 Sep 2026 17:15:14 +0100, Fuad Tabba wrote: > > gic_acpi_match_gicc() counts only the enabled GICCs with a non-zero > gicr_base_address, and that count sizes redist_regs[], but > gic_acpi_parse_madt_gicc() registers every enabled one. For an enabled > GICC with a zero GICR base, gic_acpi_register_redist() therefore writes > a struct redist_region past the end of the array. > > Commit fa2dabe57220e ("irqchip/gic-v3: Don't return errors from > gic_acpi_match_gicc()") removed the check that kept the two consistent; > its message says such entries are still caught by gic_populate_rdist(), > but that runs from gic_cpu_init(), after the write. Skip the entry > instead. > > Fixes: fa2dabe57220e ("irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc()") > Signed-off-by: Fuad Tabba > --- > drivers/irqchip/irq-gic-v3.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c > index 6e1fa5b247fc4..fb6a0570fb154 100644 > --- a/drivers/irqchip/irq-gic-v3.c > +++ b/drivers/irqchip/irq-gic-v3.c > @@ -2344,6 +2344,12 @@ gic_acpi_parse_madt_gicc(union acpi_subtable_headers *header, > return 0; > } > > + /* Not counted by gic_acpi_match_gicc(), so there is no slot for it */ > + if (!gicc->gicr_base_address) { > + pr_warn(FW_BUG "GICC entry with ACPI UID %u has no GICR base address\n", gicc->uid); > + return 0; > + } > + Shouldn't this also update the broken_rdist bitmap? M. -- Without deviation from the norm, progress is not possible.