[PATCH v2 09/30] cxlflash: Fix to stop interrupt processing on remove
David.Laight at ACULAB.COM
Thu Sep 17 21:58:19 AEST 2015
From: Linuxppc-dev Matthew R. Ochs
> Sent: 16 September 2015 22:28
> Interrupt processing can run in parallel to a remove operation. This
> can lead to a condition where the interrupt handler is processing with
> memory that has been freed.
> To avoid processing an interrupt while memory may be yanked, check for
> removal while in the interrupt handler. Bail when removal is imminent.
On the face of it this just reduces the size of the window somewhat.
What happens if the interrupt routine reads the flag just before it is set
(so is processing the entry that is being removed) and is then (say)
interrupted by a higher priority interrupt that takes longer to execute than
the remove code?
You've still got an interrupt routine accessing freed memory.
More information about the Linuxppc-dev