linux/drivers/vfio
Linus Torvalds 26344c0dd3 VFIO updates for v7.4-rc1
- Fix missing selftest <libgen.h> include for basename() to support
    non-glibc builds. (Hisam Mehboob)
 
  - Add vfio selftest documentation covering the libvfio helper library
    and guidance for developers to aid in adding and understanding the
    framework. (David Matlack)
 
  - Fix vfio cdev open path to prevent a second open from clobbering
    the vf_token or clearing the KVM reference.  Add a selftest to
    avoid future recurrences. (Alex Williamson)
 
  - Extend vfio selftest mix_and_match timeouts, in particular to
    account for systems where generated faults can induce heavy SMM
    load, delaying internal timeouts.  Also extend timeout for
    execution via runner to account for various tests exceeding default
    45s timeout.  (Alex Williamson)
 
  - Add tracking for non-reserved mappings into a vfio_dma object in
    order to optimize the tear-down paths where per-page tests can be
    entirely skipped.  This resolves a soft lockup for large memory
    GPUs. (Samuel Crossley)
 
  - Add vfio selftest driver for mlx5, providing another target for
    exercising DMA and interrupts against a physical device.
    (Jason Gunthorpe)
 
  - Hardening against read-only region promotion, preserving vm_pgoff
    for unmap_mapping_range(), and reject non-shared MMIO mmaps as
    necessary through vfio-platform, vfio-fsl-mc, and vfio-cdx.  These
    prevent future issues, though none are currently reachable.
    (Abdifatah Suruur)
 
  - Fix 8-byte ioeventfd support, removing a static error test that was
    erroneously left in place when generalizing 8-byte io accesses.
    (Li RongQing)
 
  - Fix missed RCU drain on module exit. (Jiale Yao)
 
  - Fix off-by-one boundary check in migration support within the mlx5
    vfio-pci variant driver. (Seongjun Hong)
 
  - Remove drvdata usage convention across vfio-pci-core, allowing
    variant drivers to freely create their own conventions and enabling
    a future Rust-based variant driver.  A DRM topic branch is also
    merged in support of this effort, modifying the vga arbiter API
    to more cleanly remove the drvdata dependency. (Simon Song)
 
  - Fix hisi_acc vfio-pci variant driver to avoid NULL pointer accesses
    when bound to unsupported devices and also disabling migration
    support when running on 64K host page size due to BAR mapping
    constraints. (Longfang Liu)
 
  - Add device IDs for Crescent Island and Nova Lake devices to the Xe
    vfio-pci variant driver. (Satyanarayana K V P)
 
  - Fix fallback mode in nvgrace-gpu variant driver to use symmetric
    open and close handlers to avoid reported use-after-free issue.
    Remove the resulting unnecessary test in the now single-purpose
    open function. (Andrea Parri)
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEQvbATlQL0amee4qQI5ubbjuwiyIFAmrZgKwRHGFsZXhAc2hh
 emJvdC5vcmcACgkQI5ubbjuwiyJzzQ//YVE+dgmZyop6V4INVheuYOt9jlTwEsbN
 CV7BcHG2AQt/0yx9LtKQ6CFKJSJYcPUTQjBq5FMYxXVUYiKCjn2czk7gKJeCXX+6
 8AkWqNi2Ds46j7YwRaNZEP4yrDPmZeQw5Z/cqE95zBB2QtujGl3FJ4Jt6hAnT3AM
 EIzMT4ZkOWGOaurK9blUY4sH+N8Ft9haJeAeEsBtT1wSD52MvAdXdCKhhfxR0vm9
 9R9/DYNVff5ynFOWDIWUqspxT3ITIX2iPJMmsPzlXZXytIjwTcA3NSmH48KvNSCw
 iI9+UYPHU9wBoRlrh020ZPl2kxFoOEZLCfonCgEeQuEtZiyaEjmjZ8uU4J/JF6UO
 Uu4xUG9DBjNtqbDeEtPlGM/6Scuqn+EDlEGHMVOhjJwllGVilGeVeA93wJo064J2
 lXGsvQ6EBP6VDzfvbW/7KApm6JwIjV5h4/+bA0Eq5wFkNxDPoahtjh2IvYflLpIV
 2jBIC+OG759QBnJ+KlHI+07m1tQKy5MdYBJg8Lpo4pL/wH14UXTDNnEYPdusrKql
 GAuMERJe+3/PrL3xzgptwDBuVwIkWzX8ivdWPWQsIgq0OY/RpENZBgeRL7nXrIpn
 lT14Os+FOflGeVyIXJS14cqG+gzTV5/nEP+EDXyOIwKL2Kff5zBFpXfyRiYXtwvJ
 oRsxu6XNfT8=
 =zgQL
 -----END PGP SIGNATURE-----

Merge tag 'vfio-v7.4-rc1' of https://github.com/awilliam/linux-vfio

Pull VFIO updates from Alex Williamson:

 - Fix missing selftest <libgen.h> include for basename() to support
   non-glibc builds (Hisam Mehboob)

 - Add vfio selftest documentation covering the libvfio helper library
   and guidance for developers to aid in adding and understanding the
   framework (David Matlack)

 - Fix vfio cdev open path to prevent a second open from clobbering the
   vf_token or clearing the KVM reference. Add a selftest to avoid
   future recurrences (Alex Williamson)

 - Extend vfio selftest mix_and_match timeouts, in particular to account
   for systems where generated faults can induce heavy SMM load,
   delaying internal timeouts. Also extend timeout for execution via
   runner to account for various tests exceeding default 45s timeout
   (Alex Williamson)

 - Add tracking for non-reserved mappings into a vfio_dma object in
   order to optimize the tear-down paths where per-page tests can be
   entirely skipped. This resolves a soft lockup for large memory GPUs
   (Samuel Crossley)

 - Add vfio selftest driver for mlx5, providing another target for
   exercising DMA and interrupts against a physical device (Jason
   Gunthorpe)

 - Hardening against read-only region promotion, preserving vm_pgoff for
   unmap_mapping_range(), and reject non-shared MMIO mmaps as necessary
   through vfio-platform, vfio-fsl-mc, and vfio-cdx. These prevent
   future issues, though none are currently reachable (Abdifatah Suruur)

 - Fix 8-byte ioeventfd support, removing a static error test that was
   erroneously left in place when generalizing 8-byte io accesses (Li
   RongQing)

 - Fix missed RCU drain on module exit (Jiale Yao)

 - Fix off-by-one boundary check in migration support within the mlx5
   vfio-pci variant driver (Seongjun Hong)

 - Remove drvdata usage convention across vfio-pci-core, allowing
   variant drivers to freely create their own conventions and enabling a
   future Rust-based variant driver. A DRM topic branch is also merged
   in support of this effort, modifying the vga arbiter API to more
   cleanly remove the drvdata dependency (Simon Song)

 - Fix hisi_acc vfio-pci variant driver to avoid NULL pointer accesses
   when bound to unsupported devices and also disabling migration
   support when running on 64K host page size due to BAR mapping
   constraints (Longfang Liu)

 - Add device IDs for Crescent Island and Nova Lake devices to the Xe
   vfio-pci variant driver (Satyanarayana K V P)

 - Fix fallback mode in nvgrace-gpu variant driver to use symmetric open
   and close handlers to avoid reported use-after-free issue. Remove the
   resulting unnecessary test in the now single-purpose open function
   (Andrea Parri)

* tag 'vfio-v7.4-rc1' of https://github.com/awilliam/linux-vfio: (35 commits)
  vfio/nvgrace-gpu: Drop the usemem length check in open_device
  vfio/nvgrace-gpu: Use a core-only open_device in fallback mode
  vfio/xe: Add CRI and NVL device IDs
  hisi_acc_vfio_pci: reject live migration on 64KB page with QM_HW_V3 hardware
  hisi_acc_vfio_pci: fix NULL dereference in reset_prepare on PF passthrough
  vfio/pci: Remove the core dependency on driver data
  vfio/mlx5: Fix boundary check in set_report_output()
  vfio/pci: Drain eventfd RCU callbacks on module exit
  PCI/VGA: pass a data pointer to be used in the decode callback (v2)
  vfio/pci: Restore 8-byte ioeventfd support
  vfio/cdx: reject non-shared MMIO mmaps
  vfio/cdx: keep logical vm_pgoff in MMIO region mmap
  vfio/fsl-mc: keep logical vm_pgoff in MMIO region mmap
  vfio/platform: keep logical vm_pgoff in MMIO region mmap
  vfio/cdx: prevent read-only region mappings from becoming writable
  vfio/fsl-mc: prevent read-only region mappings from becoming writable
  vfio/platform: prevent read-only region mappings from becoming writable
  vfio: selftests: Verify a failed second open preserves the vf_token
  vfio: selftests: mlx5 driver - add send_msi support
  vfio: selftests: Add mlx5 driver - data path and memcpy ops
  ...
2026-10-23 14:22:52 -10:00
..
cdx vfio/cdx: reject non-shared MMIO mmaps 2026-09-29 14:25:55 -06:00
fsl-mc vfio/fsl-mc: keep logical vm_pgoff in MMIO region mmap 2026-09-29 13:31:06 -06:00
mdev vfio: fix typo "stucture" in comment 2026-09-22 18:57:13 -06:00
pci vfio/nvgrace-gpu: Drop the usemem length check in open_device 2026-10-16 09:32:02 -06:00
platform vfio/platform: keep logical vm_pgoff in MMIO region mmap 2026-09-29 13:31:01 -06:00
container.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
debugfs.c vfio: Remove device debugfs before releasing devres 2026-06-29 14:26:28 -06:00
device_cdev.c VFIO updates for v7.4-rc1 2026-10-23 14:22:52 -10:00
group.c KVM/vfio: Use file-based reference counting for KVM 2026-10-02 10:40:00 +02:00
iommufd.c vfio: Enable cdev noiommu mode under iommufd 2026-07-14 12:05:01 -03:00
Kconfig vfio: Enable cdev noiommu mode under iommufd 2026-07-14 12:05:01 -03:00
Makefile
vfio_iommu_spapr_tce.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vfio_iommu_type1.c vfio/type1: avoid walking reserved-only mappings while unpinning 2026-09-25 13:31:54 -06:00
vfio_main.c VFIO updates for v7.4-rc1 2026-10-23 14:22:52 -10:00
vfio.h KVM/vfio: Use file-based reference counting for KVM 2026-10-02 10:40:00 +02:00
virqfd.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00