Re: [tip:x86/apic] genirq: Prevent crash in irq_move_irq()

From: Jiang Liu
Date: Tue Jun 16 2015 - 03:48:06 EST

On 2015/6/16 15:31, tip-bot for Jiang Liu wrote:
> Commit-ID: 458526ec81d755dfaa17f3d863302afe6fbefca0
> Gitweb:
> Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
> AuthorDate: Mon, 1 Jun 2015 16:05:11 +0800
> Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> CommitDate: Tue, 16 Jun 2015 09:23:28 +0200
> genirq: Prevent crash in irq_move_irq()
> The functions irq_move_irq() and irq_move_masked_irq() expect that the
> caller passes the top-level irq_data to them when hierarchical
> irqdomains are enabled. But that's not true when called from
> apic_ack_edge(), which results in a null pointer dereference by
> idata->chip->irq_mask(idata).
> Instead of fixing callers to passing top-level irq_data, we rather
> change irq_move_irq()/irq_move_masked_irq() to accept any irq_data.
> Fixes: 52f518a3a7c 'x86/MSI: Use hierarchical irqdomains to manage MSI interrupts'
Hi Thomas,
This patch has dependency on patch "[Patch v3 01/36] genirq:
Enhance irq_data_to_desc() to support hierarchy irqdomain" in the
same patch set, otherwise irq_data_to_desc(idata) may return invalid
irq_desc and may cause memory crash.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at