On Mon, Feb 13, 2023 at 10:49:34AM -0400, Jason Gunthorpe wrote: > On Sun, Feb 12, 2023 at 11:48:30PM -0800, Nicolin Chen wrote: > > > What about point 1? If dev2 and dev3 are already replaced when > > doing iommu_group_replace_domain() on dev1, their idev objects > > still have the old hwpt/iopt until user space does another two > > IOCTLs on them, right? > > We have a complicated model for multi-device groups... > > The first device in the group to change domains must move all the > devices in the group > > But userspace is still expected to run through and change all the > other devices > > So replace should be a NOP if the group is already linked to the right > domain. > > This patch needs to make sure that incosistency in the view betwen the > iommu_group and the iommufd model doesn't cause a functional > problem. Yea, I was thinking that we'd need to block any access to the idev->hwpt of a pending device's, before the kernel finishes the "NOP" IOCTL from userspace, maybe with a helper: (iommu_get_domain_for_dev(idev->dev) != idev->hwpt->domain) Thanks Nic