On Mon, Mar 15, 2021 at 11:56:26AM +0000, Mark Rutland wrote: > If we accidentally unmask IRQs before we've registered a root IRQ > handler, handle_arch_irq will be NULL, and the IRQ exception handler > will branch to a bogus address. > > To make this easier to debug, this patch initialises handle_arch_irq to > a default handler which will panic(), making such problems easier to > debug. When we add support for FIQ handlers, we can follow the same > approach. > > When we add support for a root FIQ handler, it's possible to have root > IRQ handler without an root FIQ handler, and in theory the inverse is > also possible. To permit this, and to keep the IRQ/FIQ registration > logic similar, this patch removes the panic in the absence of a root IRQ > controller. Instead, set_handle_irq() logs when a handler is registered, > which is sufficient for debug purposes. > > Signed-off-by: Mark Rutland <mark.rutl...@arm.com> > Tested-by: Hector Martin <mar...@marcan.st> > Cc: Catalin Marinas <catalin.mari...@arm.com> > Cc: James Morse <james.mo...@arm.com> > Cc: Marc Zyngier <m...@kernel.org> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: Will Deacon <w...@kernel.org> > --- > arch/arm64/kernel/irq.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-)
Acked-by: Will Deacon <w...@kernel.org> Will