Re: [PATCHv3] irqchip: arm-gic: take gic_lock when updating irq type

From: Greg KH
Date: Wed Mar 28 2018 - 05:51:40 EST


On Wed, Mar 28, 2018 at 02:24:30PM +0530, Aniruddha Banerjee wrote:
> The kernel documentation states that the locking of the irq-chip
> registers should be handled by the irq-chip driver. In the irq-gic,
> the accesses to the irqchip are seemingly not protected and multiple
> writes to SPIs from different irq descriptors do RMW requests without
> taking the irq-chip lock. When multiple irqs call the request_irq at
> the same time, there can be a simultaneous write at the gic
> distributor, leading to a race. Acquire the gic_lock when the
> irq_type is updated.
>
> Signed-off-by: Aniruddha Banerjee <aniruddhab@xxxxxxxxxx>
> ---
> Changes from V1:
>
> * Moved the spinlock from irq-gic to irq-gic common, so that the fix
> is valid for GIC v1/v2/v3.
>
> Change from V2:
>
> * Fixup the Signed-off-by line.
>
> drivers/irqchip/irq-gic-common.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>