From: Radu Rendec <radu@rendec.net>
To: Haofeng Li <lihaofeng@kylinos.cn>
Cc: tglx@kernel.org, linux-kernel@vger.kernel.org,
Haofeng Li <13266079573@163.com>, Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Samuel Holland <samuel.holland@sifive.com>,
linux-riscv@lists.infradead.org
Subject: Re: [PATCH 00/16] irqchip: harden initialization error paths
Date: Sat, 25 Jul 2026 12:29:18 -0400 [thread overview]
Message-ID: <53a1f3a1354ed65fbeacb2fe1f6fc151815f7718.camel@rendec.net> (raw)
In-Reply-To: <20260714122351.3274006-1-lihaofeng@kylinos.cn>
On Tue, 2026-07-14 at 20:23 +0800, Haofeng Li wrote:
> An audit of irqchip initialization and allocation error paths found a
> collection of resource leaks and lifetime issues across several drivers.
>
> The most serious cases leave interrupt handlers or other globally visible
> state pointing at memory that is subsequently freed or unmapped. Other
> cases leak IRQ domains, parent mappings, MMIO mappings, allocation bitmap
> regions, or allocated objects when initialization fails part-way through.
> The series also fixes an unbounded IMSIC MMIO lookup, a possible NULL MMIO
> access in the NVIDIA T241 workaround, and two cases where useful error
> information is lost or reported incorrectly.
>
> The changes are confined to failure handling; successful initialization
> paths are left unchanged. The MIPS GIC fixes in patches 7 and 8 build on
> each other, as do the Realtek RTL fixes in patches 12 and 13. The remaining
> patches are independent.
>
> The issues addressed are:
>
> - bound MMIO lookup and make allocation cleanup NULL-safe;
> - roll back partially allocated IRQs, domains and bitmap regions;
> - do not free or unmap state after it has been published to live users;
> - distinguish managed from unmanaged MMIO mappings during cleanup;
> - release parent IRQ mappings, per-CPU mappings and OF node references;
> - preserve deferred-probe errors and report the correct reset error.
>
> Haofeng Li (16):
> irqchip/riscv-imsic: fix MMIO lookup OOB and NULL cleanup
> irqchip/loongarch-ir: fix redirect free and alloc leaks
> irqchip/sifive-plic: do not iounmap devm mappings
> irqchip/crossbar: fix allocation and init cleanup
> irqchip/bcm7038-l1: clean up init failure paths
> irqchip/loongson-liointc: unmap per-core iomaps on error
> irqchip/mips-gic: clean up IRQ domain creation failure
> irqchip/mips-gic: clean up if IPI domain registration fails
> irqchip/econet: clean up VEIC initialization
> irqchip/aspeed-vic: publish handler only after domain creation
> irqchip/loongson-eiointc: preserve live state on cascade failure
> irqchip/realtek-rtl: unmap per-CPU bases on init failure
> irqchip/realtek-rtl: dispose parent mapping on domain failure
> irqchip/renesas-rzg2l: fix wrong errno in reset error log
> irqchip/gic-v3: fail T241 quirk if alias ioremap fails
> irqchip/bcm7120-l2: fix parent IRQ count error handling
Patches 3-16 in your series use a different email address than this
cover letter and patches 1-2. This is not a showstopper but makes it
harder to process your series using tools like b4.
Please use a consistent email address in the future, particularly if
you post another version of this series for any reason. Thanks!
> drivers/irqchip/irq-aspeed-vic.c | 23 ++++++++++++++----
> drivers/irqchip/irq-bcm7038-l1.c | 24 +++++++++++++++----
> drivers/irqchip/irq-bcm7120-l2.c | 8 +++++--
> drivers/irqchip/irq-crossbar.c | 23 ++++++++++++++++--
> drivers/irqchip/irq-econet-en751221.c | 5 +++-
> drivers/irqchip/irq-gic-v3.c | 11 ++++++++-
> drivers/irqchip/irq-loongarch-ir.c | 21 +++++++++++++++--
> drivers/irqchip/irq-loongson-eiointc.c | 13 ++++++-----
> drivers/irqchip/irq-loongson-liointc.c | 8 +++++++
> drivers/irqchip/irq-mips-gic.c | 31 +++++++++++++++----------
> drivers/irqchip/irq-realtek-rtl.c | 28 ++++++++++++++++++----
> drivers/irqchip/irq-renesas-rzg2l.c | 2 +-
> drivers/irqchip/irq-riscv-imsic-state.c | 12 ++++++----
> drivers/irqchip/irq-sifive-plic.c | 4 +++-
> 14 files changed, 168 insertions(+), 45 deletions(-)
>
>
> base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa
next prev parent reply other threads:[~2026-07-25 16:29 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 12:23 Haofeng Li
2026-07-14 12:23 ` [PATCH 01/16] irqchip/riscv-imsic: fix MMIO lookup OOB and NULL cleanup Haofeng Li
2026-07-14 13:15 ` Anup Patel
2026-07-25 16:13 ` Radu Rendec
2026-07-14 12:23 ` [PATCH 02/16] irqchip/loongarch-ir: fix redirect free and alloc leaks Haofeng Li
2026-07-26 2:26 ` Radu Rendec
2026-07-14 13:24 ` [PATCH 03/16] irqchip/sifive-plic: do not iounmap devm mappings Haofeng Li
2026-07-14 15:05 ` Anup Patel
2026-08-20 6:36 ` Thomas Gleixner
[not found] ` <20260714132453.3302672-1-920484857@qq.com>
2026-07-14 13:24 ` [PATCH 04/16] irqchip/crossbar: fix allocation and init cleanup Haofeng Li
2026-08-02 15:12 ` Radu Rendec
2026-08-20 6:52 ` Thomas Gleixner
2026-07-14 13:24 ` [PATCH 05/16] irqchip/bcm7038-l1: clean up init failure paths Haofeng Li
2026-07-28 17:36 ` Florian Fainelli
2026-07-14 13:24 ` [PATCH 06/16] irqchip/loongson-liointc: unmap per-core iomaps on error Haofeng Li
2026-08-02 16:31 ` Radu Rendec
2026-07-14 13:24 ` [PATCH 07/16] irqchip/mips-gic: clean up IRQ domain creation failure Haofeng Li
2026-08-02 19:19 ` Radu Rendec
2026-07-14 13:24 ` [PATCH 08/16] irqchip/mips-gic: clean up if IPI domain registration fails Haofeng Li
2026-08-02 19:26 ` Radu Rendec
2026-07-14 13:24 ` [PATCH 09/16] irqchip/econet: clean up VEIC initialization Haofeng Li
2026-07-23 1:09 ` Caleb James DeLisle
2026-07-14 13:24 ` [PATCH 10/16] irqchip/aspeed-vic: publish handler only after domain creation Haofeng Li
2026-07-14 13:24 ` [PATCH 11/16] irqchip/loongson-eiointc: preserve live state on cascade failure Haofeng Li
2026-07-14 13:24 ` [PATCH 12/16] irqchip/realtek-rtl: unmap per-CPU bases on init failure Haofeng Li
2026-07-15 6:12 ` AW: " Markus Stockhausen
2026-07-14 13:24 ` [PATCH 13/16] irqchip/realtek-rtl: dispose parent mapping on domain failure Haofeng Li
2026-07-14 13:24 ` [PATCH 14/16] irqchip/renesas-rzg2l: fix wrong errno in reset error log Haofeng Li
2026-07-14 13:24 ` [PATCH 15/16] irqchip/gic-v3: fail T241 quirk if alias ioremap fails Haofeng Li
2026-07-14 14:53 ` Marc Zyngier
2026-07-14 13:24 ` [PATCH 16/16] irqchip/bcm7120-l2: fix parent IRQ count error handling Haofeng Li
2026-07-28 15:57 ` Florian Fainelli
2026-07-25 16:29 ` Radu Rendec [this message]
2026-08-20 7:49 ` [PATCH 00/16] irqchip: harden initialization error paths Thomas Gleixner
2026-09-05 4:11 ` Nam Cao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53a1f3a1354ed65fbeacb2fe1f6fc151815f7718.camel@rendec.net \
--to=radu@rendec.net \
--cc=13266079573@163.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=lihaofeng@kylinos.cn \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=samuel.holland@sifive.com \
--cc=tglx@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®