From: Jason Gunthorpe <jgg@nvidia.com>
To: "Christian König" <christian.koenig@amd.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>,
dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
iommu@lists.linux.dev, Kevin Tian <kevin.tian@intel.com>,
Leon Romanovsky <leonro@nvidia.com>,
linaro-mm-sig@lists.linaro.org, linux-media@vger.kernel.org,
Matthew Brost <matthew.brost@intel.com>,
Simona Vetter <simona.vetter@ffwll.ch>,
Sumit Semwal <sumit.semwal@linaro.org>,
Thomas Hellstrom <thomas.hellstrom@linux.intel.com>,
Vivek Kasireddy <vivek.kasireddy@intel.com>
Subject: Re: [PATCH RFC 21/26] dma-buf: Add the Physical Address List DMA mapping type
Date: Mon, 13 Apr 2026 09:16:28 -0300 [thread overview]
Message-ID: <20260413121628.GE2588311@nvidia.com> (raw)
In-Reply-To: <c413710b-4c28-4ed8-88ec-aeb8c4482011@amd.com>
On Mon, Apr 13, 2026 at 10:58:20AM +0200, Christian König wrote:
> On 2/18/26 01:11, Jason Gunthorpe wrote:
> > This type is required by iommufd and kvm as dmabuf importers.
> >
> > Due to sensitivity about abusing physical addresses, restrict importers by
> > using EXPORT_SYMBOL_FOR_MODULES(). Only iommufd can implement an importer,
> > the kernel module loader will enforce this.
> >
> > Allow anything to implement an exporter as there are use cases in
> > DPDK/SPDK to connect GPU memory into VFIO/iommufd and it is hard to abuse
> > the API as an exporter.
> >
> > The physical address list exporter returns a physical address list in a
> > simple kvalloc'd array of struct phys_vec.
>
> As far as I can see that is still a pretty big NO-GO.
>
> We have seen so many problems with direct physical address access by
> the importer that I clear don't want to repeat that performance.
You've said, this is why I used the EXPORT_SYMBOL_FOR_MODULES() -
iommufd does not have any problems to use this correctly.
Why is that not good enough? As I understand it your objection isn't
that there is a technical issue with iommufd's implementation it is
that some other driver could import phys, do it wrong and make a
mess. I think EXPORT_SYMBOL_FOR_MODULES() fully addresses this, no?
The only past problems you've raised were related to improperly using
VMAs, that isn't happening here.
> My main question is why does IOMMUFD need the physical address in
> the first place?
CPU iommu hw only works in physical address.
> If that is really strictly necessary then I strongly suggest to not
> touch drivers/dma-buf in any way, but only do this is private
> interface between iommufd and KVM.
This isn't between iommufd and kvm. If it was just that we'd probably
be able to keep going with the private path like VFIO/iommufd already
has.
The two paths we are interested in:
1) VFIO to KVM
Allow KVM to import a FD instead of using a VMA like iommufd now can.
2) GPU and RDMA drivers to IOMMUFD
Support SPDK and DPDK type userspace drivers to work with GPU memory
This is becoming a popular topic
Jason
next prev parent reply other threads:[~2026-04-13 12:16 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-18 0:11 [PATCH RFC 00/26] Add DMA-buf mapping types and convert vfio/iommufd to use them Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 01/26] dma-buf: Introduce DMA-buf mapping types Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 02/26] dma-buf: Add the SGT DMA mapping type Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 03/26] dma-buf: Add dma_buf_mapping_attach() Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 04/26] dma-buf: Route SGT related actions through attach->map_type Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 05/26] dma-buf: Allow single exporter drivers to avoid the match_mapping function Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 06/26] drm: Check the SGT ops for drm_gem_map_dma_buf() Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 07/26] dma-buf: Convert all the simple exporters to use SGT mapping type Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 08/26] drm/vmwgfx: Use match_mapping instead of dummy calls Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 09/26] accel/habanalabs: Use the SGT mapping type Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 10/26] drm/xe/dma-buf: " Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 11/26] drm/amdgpu: " Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 12/26] vfio/pci: Change the DMA-buf exporter to use mapping_type Jason Gunthorpe
2026-04-13 8:29 ` Baolu Lu
2026-04-13 13:01 ` Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 13/26] dma-buf: Update dma_buf_phys_vec_to_sgt() to use the SGT mapping type Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 14/26] iio: buffer: convert " Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 15/26] functionfs: " Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 16/26] dma-buf: Remove unused SGT stuff from the common structures Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 17/26] treewide: Rename dma_buf_map_attachment(_unlocked) to dma_buf_sgt_ Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 18/26] treewide: Rename dma_buf_unmap_attachment(_unlocked) to dma_buf_sgt_* Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 19/26] treewide: Rename dma_buf_attach() to dma_buf_sgt_attach() Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 20/26] treewide: Rename dma_buf_dynamic_attach() to dma_buf_sgt_dynamic_attach() Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 21/26] dma-buf: Add the Physical Address List DMA mapping type Jason Gunthorpe
2026-04-13 8:58 ` Christian König
2026-04-13 12:16 ` Jason Gunthorpe [this message]
2026-04-22 8:17 ` Christian König
2026-04-22 11:53 ` Jason Gunthorpe
2026-04-22 12:39 ` Christian König
2026-04-22 13:13 ` Jason Gunthorpe
2026-04-22 14:04 ` Christian König
2026-04-22 15:00 ` Jason Gunthorpe
2026-05-09 5:31 ` Xu Yilun
2026-05-11 22:48 ` Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 22/26] vfio/pci: Add physical address list support to DMABUF Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 23/26] iommufd: Use the PAL mapping type instead of a vfio function Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 24/26] iommufd: Support DMA-bufs with multiple physical ranges Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 25/26] iommufd/selftest: Check multi-phys DMA-buf scenarios Jason Gunthorpe
2026-02-18 0:11 ` [PATCH RFC 26/26] dma-buf: Add kunit tests for mapping type Jason Gunthorpe
2026-03-01 19:05 ` [PATCH RFC 00/26] Add DMA-buf mapping types and convert vfio/iommufd to use them Jason Gunthorpe
2026-03-03 7:07 ` Kasireddy, Vivek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260413121628.GE2588311@nvidia.com \
--to=jgg@nvidia.com \
--cc=christian.koenig@amd.com \
--cc=dongwon.kim@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=kevin.tian@intel.com \
--cc=leonro@nvidia.com \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-media@vger.kernel.org \
--cc=matthew.brost@intel.com \
--cc=simona.vetter@ffwll.ch \
--cc=sumit.semwal@linaro.org \
--cc=thomas.hellstrom@linux.intel.com \
--cc=vivek.kasireddy@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.