On 10/27/26 14:34, Mikko Perttunen wrote:
On Tuesday, October 27, 2026 9:33 PM Jason Gunthorpe wrote:
On Tue, Oct 27, 2026 at 12:42:32PM +0900, Mikko Perttunen wrote:
This page-side use predates the series, so the fault is not itself a v2 regression. Is dma_buf_sgt_attach() valid for this call site, or does Tegra need a page/physical mapping type first?
Sounds like a bug in TegraDRM; we should be using the DMA addr/length for the explicit IOMMU mapping as the sgt attachment is for the dummy DRM device explicitly intended to give us physical addresses.
No, you cannot connect dmabuf to an iommu_domain. It is 100% always illegal. DMABUF does not support this. Do not pass sg_dma to iommu functions either.
Sure, I agree -- so let's say it's a bug on top of the baseline crimes TegraDRM commits :)
Well the initial crime was to abuse sgt to transport dma addresses, don't document how all of this works and then be surprised when everything blew up.
But yeah don't touch the pages in sgt exposed by DMA-buf, that is pretty much one of the most fundamental rules we have now.
Regards, Christian.
I'm currently in the process of removing the whole explicit IOMMU path so if this only occurs with CONFIG_DMABUF_DEBUG enabled, I don't think there's a pressing need to fix this before then.
Yes I think this is probably the only way to fix it :| You have to always use the DMA API
Jason