• Yinghai Lu's avatar
    x86: Check irq_remapped instead of remapping_enabled in destroy_irq() · 7b79462a
    Yinghai Lu authored
    Russ Anderson reported:
    | There is a regression that is causing a NULL pointer dereference
    | in free_irte when shutting down xpc. git bisect narrowed it down
    | to git commit d585d060(intr_remap: Simplify the code further), which
    | changed free_irte(). Reverse applying the patch fixes the problem.
    
    We need to use irq_remapped() for each irq instead of checking only
    intr_remapping_enabled as there might be non remapped irqs even when
    remapping is enabled.
    
    [ tglx: use cfg instead of retrieving it again. Massaged changelog ]
    Reported-bisected-and-tested-by: default avatarRuss Anderson <rja@sgi.com>
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Cc: Suresh Siddha <suresh.b.siddha@intel.com>
    LKML-Reference: <4CCBD511.40607@kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    7b79462a
io_apic.c 99.6 KB