On Fri, Jun 28, 2019 at 01:11:51PM +0200, Thomas Gleixner wrote:
> But that does not catch the case where the interrupt is on flight at the
> hardware level but not yet serviced by the target CPU. That creates an
> interesing race condition:

> + *   It does not check whether there is an interrupt on flight at the
> + *   hardware level, but not serviced yet, as this might deadlock when
> + *   called with interrupts disabled and the target CPU of the interrupt
> + *   is the current CPU.

> +     /*
> +      * Make sure it's not being used on another CPU and if the chip
> +      * supports it also make sure that there is no (not yet serviced)
> +      * interrupt on flight at the hardware level.
> +      */
> +     __synchronize_hardirq(desc, true);

s/on flight/in flight/ ?

Reply via email to