Re: [RFC PATCH] uio: uio_pci_generic: Add support for MSI interrupts

From: Michael S. Tsirkin
Date: Thu Jul 04 2013 - 03:19:28 EST


On Thu, Jun 27, 2013 at 10:00:52AM -0700, Guenter Roeck wrote:
> On Thu, Jun 27, 2013 at 10:45:01AM +0300, Michael S. Tsirkin wrote:
> > On Wed, Jun 26, 2013 at 03:30:23PM -0700, Guenter Roeck wrote:
> > > Enable support for MSI interrupts if the device supports it.
> > > Since MSI interrupts are edge triggered, it is no longer necessary to
> > > disable interrupts in the kernel and re-enable them from user-space.
> > > Instead, clearing the interrupt condition in the user space application
> > > automatically re-enables the interrupt.
> > >
> > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > > ---
> > > An open question is if we can just do this unconditionally
> > > or if there should be some flag to enable it. A module parameter, maybe ?
> >
> > NACK
> >
> > UIO is for devices that don't do memory writes.
> > Anything that can do writes must be protected by an IOMMU
> > and/or have a secure kernel driver, not a UIO stub.
> >
> > MSI is done by memory writes so if userspace
> > controls the device it can trick it to write
> > anywhere in memory.
> >
> Just out of curiosity: Since MSI support is mandatory for all PCIE devices,
> isn't that possible anyway, even if MSI is not enabled by the kernel ?
> All one would need to do is to enable MSI from user space; after all,
> the chip configuration space is writable.
>
> Thanks,
> Guenter

If a device has capability to do writes, sure. So don't do this then :)

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/