[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <772fa52c32de3ca3229d2df3a32cc643@kernel.org>
Date: Fri, 06 Mar 2020 13:52:10 +0000
From: Marc Zyngier <maz@...nel.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org,
Keith Busch <kbusch@...nel.org>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>
Subject: Re: [patch 6/7] genirq: Provide interrupt injection mechanism
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@...utronix.de>
Acked-by: Marc Zyngier <maz@...nel.org>
M.
--
Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists