linux/drivers/vfio
Alex Williamson 6cd9c9167c vfio/pci: Handle INTx IRQ_NOTCONNECTED
[ Upstream commit 860be250fc ]

Some systems report INTx as not routed by setting pdev->irq to
IRQ_NOTCONNECTED, resulting in a -ENOTCONN error when trying to
setup eventfd signaling.  Include this in the set of conditions
for which the PIN register is virtualized to zero.

Additionally consolidate vfio_pci_get_irq_count() to use this
virtualized value in reporting INTx support via ioctl and sanity
checking ioctl paths since pdev->irq is re-used when the device
is in MSI mode.

The combination of these results in both the config space of the
device and the ioctl interface behaving as if the device does not
support INTx.

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20250311230623.1264283-1-alex.williamson@redhat.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-06-04 14:40:05 +02:00
..
fsl-mc vfio/fsl-mc: Block calling interrupt handler without trigger 2024-04-03 15:19:47 +02:00
mdev vfio/mdev: Fix a null-ptr-deref bug for mdev_unregister_parent() 2023-10-06 14:56:45 +02:00
pci vfio/pci: Handle INTx IRQ_NOTCONNECTED 2025-06-04 14:40:05 +02:00
platform vfio/platform: check the bounds of read/write syscalls 2025-02-21 13:49:50 +01:00
container.c vfio: Use GFP_KERNEL_ACCOUNT for userspace persistent allocations 2024-04-03 15:19:34 +02:00
iova_bitmap.c iommufd/iova_bitmap: Fix shift-out-of-bounds in iova_bitmap_offset_to_index() 2025-02-21 13:49:17 +01:00
Kconfig vfio: Introduce the DMA logging feature support 2022-09-08 12:59:00 -06:00
Makefile vfio: Move container code into drivers/vfio/container.c 2022-09-22 15:46:06 -06:00
vfio.h vfio: Make the group FD disassociate from the iommu_group 2022-10-07 08:10:52 -06:00
vfio_iommu_spapr_tce.c vfio/spapr_tce: Fix the comment 2022-07-22 16:24:47 -06:00
vfio_iommu_type1.c vfio/type1: fix cap_migration information leak 2023-09-13 09:42:47 +02:00
vfio_main.c vfio: Export the device set open count 2022-11-10 12:03:36 -07:00
vfio_spapr_eeh.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
virqfd.c vfio: Introduce interface to flush virqfd inject workqueue 2024-04-03 15:19:46 +02:00