On Mon, 1 Jul 2019, Peter Zijlstra wrote: > 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/ ?
yes

