On 2020-03-06 13:03, Thomas Gleixner wrote:
Error injection mechanisms need a half ways safe way to inject
interrupts as
invoking generic_handle_irq() or the actual device interrupt handler
directly from e.g. a debugfs write is not guaranteed to be safe.
On x86 generic_handle_irq() is unsafe due to the hardware trainwreck
which
is the base of x86 interrupt delivery and affinity management.
Move the irq debugfs injection code into a separate function which can
be
used by error injection code as well.
The implementation prevents at least that state is corrupted, but it
cannot
close a very tiny race window on x86 which might result in a stale and
not
serviced device interrupt under very unlikely circumstances.
This is explicitly for debugging and testing and not for production use
or
abuse in random driver code.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
M.
--
Jazz is not dead. It just smells funny...