linux/drivers/vfio/pci
Kevin Tian ce19b17163 vfio/pci: Disable qword access to the PCI ROM bar
[ Upstream commit dc85a46928 ]

Commit 2b938e3db3 ("vfio/pci: Enable iowrite64 and ioread64 for vfio
pci") enables qword access to the PCI bar resources. However certain
devices (e.g. Intel X710) are observed with problem upon qword accesses
to the rom bar, e.g. triggering PCI aer errors.

This is triggered by Qemu which caches the rom content by simply does a
pread() of the remaining size until it gets the full contents. The other
bars would only perform operations at the same access width as their
guest drivers.

Instead of trying to identify all broken devices, universally disable
qword access to the rom bar i.e. going back to the old way which worked
reliably for years.

Reported-by: Farrah Chen <farrah.chen@intel.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220740
Fixes: 2b938e3db3 ("vfio/pci: Enable iowrite64 and ioread64 for vfio pci")
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Tested-by: Farrah Chen <farrah.chen@intel.com>
Link: https://lore.kernel.org/r/20251218081650.555015-2-kevin.tian@intel.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-08 10:15:05 +01:00
..
hisilicon hisi_acc_vfio_pci: bugfix the problem of uninstalling driver 2025-07-10 16:05:00 +02:00
mlx5 vfio/mlx5: fix possible overflow in tracking max message size 2025-08-20 18:30:48 +02:00
nvgrace-gpu vfio/pci: Disable qword access to the PCI ROM bar 2026-01-08 10:15:05 +01:00
pds vfio/pds: Fix memory leak in pds_vfio_dirty_enable() 2026-01-08 10:14:35 +01:00
qat vfio/qat: fix overflow check in qat_vf_resume_write() 2024-12-09 10:41:04 +01:00
virtio vfio/pci: rename and export range_intersect_range 2024-02-22 12:20:20 -07:00
Kconfig vfio/qat: Add vfio_pci driver for Intel QAT SR-IOV VF devices 2024-04-29 13:25:41 -06:00
Makefile vfio/qat: Add vfio_pci driver for Intel QAT SR-IOV VF devices 2024-04-29 13:25:41 -06:00
trace.h vfio/pci: Cleanup license mess 2019-01-22 11:06:05 -07:00
vfio_pci.c VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist 2024-05-13 14:07:33 +00:00
vfio_pci_config.c vfio/pci: Handle INTx IRQ_NOTCONNECTED 2025-05-29 11:02:15 +02:00
vfio_pci_core.c vfio/pci: Use RCU for error/request triggers to avoid circular locking 2025-12-18 13:55:12 +01:00
vfio_pci_igd.c vfio: Use GFP_KERNEL_ACCOUNT for userspace persistent allocations 2023-01-23 11:26:29 -07:00
vfio_pci_intrs.c vfio/pci: Use RCU for error/request triggers to avoid circular locking 2025-12-18 13:55:12 +01:00
vfio_pci_priv.h vfio/pci: Use RCU for error/request triggers to avoid circular locking 2025-12-18 13:55:12 +01:00
vfio_pci_rdwr.c vfio/pci: Disable qword access to the PCI ROM bar 2026-01-08 10:15:05 +01:00
vfio_pci_zdev.c Merge remote-tracking branch 'mlx5/mlx5-vfio' into v6.1/vfio/next 2022-09-08 10:44:34 -06:00