RE: [PATCH 1/7] vfio/pci: Disable auto-enable of exclusive INTx IRQ
From: Tian, Kevin
Date: Thu Mar 07 2024 - 03:29:02 EST
> From: Alex Williamson <alex.williamson@xxxxxxxxxx>
> Sent: Thursday, March 7, 2024 5:15 AM
>
> Currently for devices requiring masking at the irqchip for INTx, ie.
> devices without DisINTx support, the IRQ is enabled in request_irq()
> and subsequently disabled as necessary to align with the masked status
> flag. This presents a window where the interrupt could fire between
> these events, resulting in the IRQ incrementing the disable depth twice.
Can you elaborate the last point about disable depth?
> This would be unrecoverable for a user since the masked flag prevents
> nested enables through vfio.
What is 'nested enables'?
>
> Instead, invert the logic using IRQF_NO_AUTOEN such that exclusive INTx
> is never auto-enabled, then unmask as required.
>
> Fixes: 89e1f7d4c66d ("vfio: Add PCI device driver")
> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
But this patch looks good to me:
Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
with one nit...
>
> + /*
> + * Devices without DisINTx support require an exclusive interrupt,
> + * IRQ masking is performed at the IRQ chip. The masked status is
"exclusive interrupt, with IRQ masking performed at..."