On Fri, Aug 23, 2024 at 11:21:26PM +1000, Alexey Kardashevskiy wrote: > IOMMUFD calls get_user_pages() for every mapping which will allocate > shared memory instead of using private memory managed by the KVM and > MEMFD. Please check this series, it is much more how I would expect this to work. Use the guest memfd directly and forget about kvm in the iommufd code: https://lore.kernel.org/r/1726319158-283074-1-git-send-email-steven.sistare@xxxxxxxxxx I would imagine you'd detect the guest memfd when accepting the FD and then having some different path in the pinning logic to pin and get the physical ranges out. Probably we would also need some CAP interaction with the iommu driver to understand if it can accept private pages to even allow this in the first place. Thanks, Jason