Re: [PATCH 0/6] IRQ handling patches backport to 4.14 stable

From: Greg KH
Date: Thu Oct 27 2022 - 06:13:15 EST


On Thu, Sep 29, 2022 at 09:06:45PM +0000, Rishabh Bhatnagar wrote:
> This patch series backports a bunch of patches related IRQ handling
> with respect to freeing the irq line while IRQ is in flight at CPU
> or at the hardware level.
> Recently we saw this issue in serial 8250 driver where the IRQ was being
> freed while the irq was in flight or not yet delivered to the CPU. As a
> result the irqchip was going into a wedged state and IRQ was not getting
> delivered to the cpu. These patches helped fixed the issue in 4.14
> kernel.
> Let us know if more patches need backporting.
>
> Lukas Wunner (2):
> genirq: Update code comments wrt recycled thread_mask
> genirq: Synchronize only with single thread on free_irq()
>
> Thomas Gleixner (4):
> genirq: Delay deactivation in free_irq()
> genirq: Fix misleading synchronize_irq() documentation
> genirq: Add optional hardware synchronization for shutdown
> x86/ioapic: Implement irq_get_irqchip_state() callback
>
> arch/x86/kernel/apic/io_apic.c | 46 ++++++++++++++
> kernel/irq/autoprobe.c | 6 +-
> kernel/irq/chip.c | 6 ++
> kernel/irq/cpuhotplug.c | 2 +-
> kernel/irq/internals.h | 5 ++
> kernel/irq/manage.c | 106 ++++++++++++++++++++++-----------
> 6 files changed, 133 insertions(+), 38 deletions(-)

A simple build test breaks with this series applied:

ld: kernel/irq/manage.o: in function `__synchronize_hardirq':
manage.c:(.text+0x149): undefined reference to `__irq_get_irqchip_state'
ld: kernel/irq/manage.o: in function `irq_get_irqchip_state':
manage.c:(.text+0x5a2): undefined reference to `__irq_get_irqchip_state'
make: *** [Makefile:1038: vmlinux] Error 1

How did you test this?

{sigh}

I'm dropping all of these from my queue. I think you need to just keep
this in your device-specific tree as obviously this is not ready to be
backported anywhere.

greg k-h