Re: [PATCH v3 -tip x86/apic 2/2] x86/MSI: Conserve interruptresources when using multiple-MSIs

From: Sebastian Andrzej Siewior
Date: Wed Jun 05 2013 - 16:09:11 EST


On Mon, May 13, 2013 at 11:06:17AM +0200, Alexander Gordeev wrote:
> Current multiple-MSI implementation does not take into account
> actual number of requested MSIs and always rounds that number
> to a closest power-of-two value. Yet, a number of MSIs a PCI
> device could send (and therefore a number of messages a device
> driver could request) may be a lesser power-of-two. As result,
> resources allocated for extra MSIs just wasted.
>
> This update takes advantage of 'msi_desc::nvec' field introduced
> with generic MSI code to track number of requested and used MSIs.
> As result, resources associated with interrupts are conserved.
> Of those resources most noticeable are x86 interrupt vectors.
>
> The initial version of this fix also consumed on IRTEs, but Jan
> noticed that a malfunctioning PCI device might send a message
> number it did not claim and thus refer an IRTE it does not own.
> To avoid this security hole the old-way approach preserved and
> as many IRTEs are reserved as the device could possibly send.
>
> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx>

This does not look all that bad.

Sebastian
--
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/