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

Ian Whitfield ian.whitfield at canonical.com
Tue Sep 15 00:53:24 UTC 2026


On 9/11/26 4:14 PM, Ian Whitfield wrote:
> 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(-)
Applied to resolute:linux-gcp master-next.



More information about the kernel-team mailing list