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

From: Thomas Gleixner
Date: Sun Nov 01 2020 - 11:52:11 EST


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