[RFC PATCH] irqchip/sifive-plic: Fix getting wrong chip_data when interrupt is hierarchy

Thomas Gleixner tglx at linutronix.de
Sun Nov 1 11:52:06 EST 2020


On Sun, Nov 01 2020 at 12:10, Marc Zyngier wrote:

> On Thu, 29 Oct 2020 10:37:38 +0800, Greentime Hu wrote:
>> This oops is caused by a wrong chip_data and it is because plic_irq_unmask
>> uses irq_get_chip_data(irq_data->irq) to get the chip_data. However it may
>> get another irq_data with the same irq_data->irq if it is hierarchy.
>> 
>> In this case, it will get irq_data of sifive_gpio_irqchip instead of
>> plic_chip so that it will get a wrong chip_data and then the wrong lmask
>> of it to cause this oops.
>> 
>> [...]
>
> Applied to irq/irqchip-next, thanks!

That should go into urgent, the offending commit is in Linus tree already

Thanks,

        tglx



More information about the linux-riscv mailing list