Re: [RFC PATCH] iommu/arm-smmu-v3: Allow nested attach for PCI bridges without vDEVICE

Jason Gunthorpe <[email protected]>
Newsgroups dev.linux.lists.regressions,dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Fri, Aug 14, 2026 at 10:07:09AM +0000, Dmitry Malkin wrote:
> IOMMU groups can contain passed-through endpoints and host PCI bridges.
> QEMU creates vDEVICEs for the endpoints, but not for bridges that are
> not visible to the guest.

But why exactly do you have pci bridges in your groups? That isn't
entirely normal?

> Since f0ea207ed781 ("iommu/arm-smmu-v3: Introduce struct
> arm_smmu_vmaster"), group-wide translated-domain attachment therefore
> fails when the first bridge is visited:
> 
>   pcieport 0009:00:00.0:
>     missing vDEVICE association for translated nested domain:
>     cfg=5 ret=-2
> 
>   vfio-pci 0009:03:00.0:
>     VFIO_DEVICE_ATTACH_IOMMUFD_PT attach failed for pt_id 19: -ENOENT
> 
> The same configuration worked with Linux 6.14.

Hmm, but without a viommu we shouldn't have this vmaster stuff
activating in the first place, I thought? 

+               if (new_domain->type == IOMMU_DOMAIN_NESTED) {
+                       ret = arm_smmu_attach_prepare_vmaster(
+                               state, to_smmu_nested_domain(new_domain));

That should only be happening if the VMM is setting up vIOMMU.

And vIOMMU wasn't supported in 6.14, so if it "worked" the VMM was
doing something quite different - not seeing this as a regression

If viommu should support multi-device groups, I'm not sure. I want to
know why you even have multi-device groups in the first place because
that is not normal at all.

Jason
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.