[SRU][R:linux-gcp][PULL] Backport Linux 7.1 VFIO patches to gcp 7.0

Ian Whitfield ian.whitfield at canonical.com
Wed Sep 2 17:59:41 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.

[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

----------------------------------------------------------------

The following changes since commit b10f9a7a8b81397568574808bc146040daa869b5:

  UBUNTU: Ubuntu-gcp-7.0.0-1011.11 (2026-08-11 10:46:55 -0400)

are available in the Git repository at:

  https://git.launchpad.net/~ijwhitfield/ubuntu/+source/linux-gcp/+git/resolute vfio1.2

for you to fetch changes up to 94ff02d8970cd27cb18fd21f4e610c1b13750dbf:

  UBUNTU: [Config] gcp: Add DMABUF_MOVE_NOTIFY annotation (2026-09-02 12:03:00 -0400)

----------------------------------------------------------------
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                |  80 ++++++++++---
 include/linux/dma-buf.h                           |  11 +-
 include/linux/pci_ids.h                           |   2 +
 include/rdma/ib_umem.h                            |  23 ++++
 20 files changed, 388 insertions(+), 110 deletions(-)



More information about the kernel-team mailing list