[SRU][R:linux-gcp][PULL v2] Backport Linux 7.1 VFIO patches to gcp 7.0
Ian Whitfield
ian.whitfield at canonical.com
Fri Sep 11 20:14:28 UTC 2026
BugLink: https://bugs.launchpad.net/bugs/2165199
SRU Justification
[Impact]
Google has requested a set of VFIO patches applied upstream since 7.0 to be
backported to the gcp kernel.
[Fix]
This is the list of target patches requested to port to gcp 7.0:
request: https://lore.kernel.org/all/20251120-dmabuf-vfio-v9-0-d7f71607f371@nvidia.com/
f58ef9d1d135 ("PCI/P2PDMA: Separate the mmap() support from the core logic")
requires fix: 80d9411c00e8 ("PCI/P2PDMA: Add missing struct p2pdma_provider documentation")
d4504262f745 ("PCI/P2PDMA: Simplify bus address mapping API")
372d6d1b8ae3 ("PCI/P2PDMA: Refactor to separate core P2P functionality from memory allocation")
395698bd2cd7 ("PCI/P2PDMA: Provide an access to pci_p2pdma_map_type() function")
50d44fce53b6 ("PCI/P2PDMA: Document DMABUF model")
3aa31a8bb11e ("dma-buf: provide phys_vec to scatter-gather mapping routine")
requires fix: 590d74568030 ("dma-buf: fix integer overflow in fill_sg_entry() for buffers >= 8GiB")
64a5dedcff80 ("vfio: Export vfio device get and put registration helpers")
47d13c939d89 ("vfio/pci: Share the core device pointer while invoking feature functions")
35c3503908d3 ("vfio/pci: Enable peer-to-peer DMA transactions by default")
5d74781ebc86 ("vfio/pci: Add dma-buf export support for MMIO regions")
requires fix: e98137f0a874 ("vfio/pci: Fix double free in dma-buf feature")
5415d887db0e ("vfio/nvgrace: Support get_dmabuf_phys")
request: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/6ffe939bf94fbbeaaa4050a0e9c22820e959b15f
6ffe939bf94f ("vfio: Permit VFIO to work with pinned importers")
request: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/1a8a5227f22996d3e503c60569b1813a404da033
1a8a5227f229 ("vfio: Wait for dma-buf invalidation to complete")
request: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/95308225e5baeaae1e313816059c59a0036ab6b2
95308225e5ba ("dma-buf: Rename dma_buf_move_notify() to dma_buf_invalidate_mappings()")
requires fix 61c0f69a2ff79 ("RDMA/uverbs: Update for semantic conflict with drm-misc")
request: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/61ceaf236115f20f4fdd7cf60f883ada1063349a
61ceaf236115 ("vfio: Prevent from pinned DMABUF importers to attach to VFIO DMABUF")
request: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/+/b703b31ea8cd22c1915cfdd6d8e39bf39ec64c8b
b703b31ea8cd ("types: reuse common phys_vec type instead of DMABUF open‑coded variant")
request: https://patchwork.kernel.org/project/linux-rdma/list/?series=1062089&state=*
553dfa8cbd0c ("RDMA/umem: Add ib_umem_dmabuf_get_pinned_and_lock helper")
797291a66ce3 ("RDMA/umem: Move umem dmabuf revoke logic into helper function")
ff85a2ebacbd ("RDMA/umem: Add pinned revocable dmabuf import interface")
3a0b171302ee ("RDMA/umem: Add helpers for umem dmabuf revoke lock")
4707bf5f6c86 ("RDMA/irdma: Add support for revocable pinned dmabuf import")
request: https://patchwork.ozlabs.org/project/linux-pci/list/?series=499311
1a1f96e3e2a8d ("PCI/P2PDMA: Allow wildcard Device IDs in host bridge list")
70cf146a674c4 ("PCI/P2PDMA: Add Google SoCs to the P2P DMA host bridge list")
Of these, many had already been applied. Any patches that were originally
submitted together in a PR were pulled in as well, unless they were deemed
problematic or risky. This is to keep the gcp 7.0 VFIO source closer to mainline
and more prepared for future porting work.
v2 adds c64a647c84f30 ("vfio/pci: fix dma-buf kref underflow after revoke")
as a fix for 1a8a5227f2299 ("vfio: Wait for dma-buf invalidation to complete")
[Test Plan]
Patches will be reviewed by Google and boot tested by us.
[Regression potential]
These patches target VFIO changes primarily, regressions are most likely to
occur on bare-metal deployments with the vfio-pci module loaded.
[Other]
SF: 00434577
v2: Added "vfio/pci: fix dma-buf kref underflow after revoke"
----------------------------------------------------------------
The following changes since commit d3b118a221bc69860106da1cc549adb844404973:
UBUNTU: Ubuntu-gcp-7.0.0-1012.12 (2026-09-08 14:05:52 -0400)
are available in the Git repository at:
https://git.launchpad.net/~ijwhitfield/ubuntu/+source/linux-gcp/+git/resolute vfio1.3
for you to fetch changes up to 8ea15dcd9fcb79cd9179a2a669d92cf4549f42b9:
UBUNTU: [Config] gcp: Add DMABUF_MOVE_NOTIFY annotation (2026-09-11 16:03:15 -0400)
----------------------------------------------------------------
Alex Williamson (1):
vfio/pci: fix dma-buf kref underflow after revoke
Ankit Soni (1):
iommufd: Take dma_resv lock before dma_buf_unpin() in release path
Ian Whitfield (1):
UBUNTU: [Config] gcp: Add DMABUF_MOVE_NOTIFY annotation
Jacob Moroni (7):
RDMA/umem: Add ib_umem_dmabuf_get_pinned_and_lock helper
RDMA/umem: Move umem dmabuf revoke logic into helper function
RDMA/umem: Add pinned revocable dmabuf import interface
RDMA/umem: Add helpers for umem dmabuf revoke lock
RDMA/irdma: Add support for revocable pinned dmabuf import
PCI/P2PDMA: Allow wildcard Device IDs in host bridge list
PCI/P2PDMA: Add Google SoCs to the P2P DMA host bridge list
Leon Romanovsky (7):
dma-buf: Rename dma_buf_move_notify() to dma_buf_invalidate_mappings()
dma-buf: Always build with DMABUF_MOVE_NOTIFY
vfio: Wait for dma-buf invalidation to complete
dma-buf: Make .invalidate_mapping() truly optional
dma-buf: Add dma_buf_attach_revocable()
vfio: Permit VFIO to work with pinned importers
iommufd: Add dma_buf_pin()
Mark Brown (1):
RDMA/uverbs: Update for semantic conflict with drm-misc
Sumit Semwal (1):
dma-buf: fix htmldocs error for dma_buf_attach_revocable
debian.gcp/config/annotations | 1 +
drivers/dma-buf/Kconfig | 12 --
drivers/dma-buf/dma-buf.c | 66 ++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 10 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 +-
drivers/gpu/drm/amd/amdkfd/Kconfig | 2 +-
drivers/gpu/drm/xe/tests/xe_dma_buf.c | 3 +-
drivers/gpu/drm/xe/xe_bo.c | 2 +-
drivers/gpu/drm/xe/xe_dma_buf.c | 12 +-
drivers/infiniband/core/ib_core_uverbs.c | 2 +-
drivers/infiniband/core/umem_dmabuf.c | 140 ++++++++++++++++++----
drivers/infiniband/core/uverbs_std_types_dmabuf.c | 2 +-
drivers/infiniband/hw/irdma/verbs.c | 105 ++++++++++++++--
drivers/iommu/iommufd/pages.c | 11 +-
drivers/iommu/iommufd/selftest.c | 2 +-
drivers/pci/p2pdma.c | 10 +-
drivers/vfio/pci/vfio_pci_dmabuf.c | 86 +++++++++----
include/linux/dma-buf.h | 11 +-
include/linux/pci_ids.h | 2 +
include/rdma/ib_umem.h | 23 ++++
20 files changed, 391 insertions(+), 113 deletions(-)
More information about the kernel-team
mailing list