On Thu, Apr 28, 2022 at 10:09:19PM +0100, Joao Martins wrote: > +static void iommu_unmap_read_dirty_nofail(struct iommu_domain *domain, > + unsigned long iova, size_t size, > + struct iommufd_dirty_data *bitmap, > + struct iommufd_dirty_iter *iter) > +{ This shouldn't be a nofail - that is only for path that trigger from destroy/error unwindow, which read dirty never does. The return code has to be propogated. It needs some more thought how to organize this.. only unfill_domains needs this path, but it is shared with the error unwind paths and cannot generally fail.. Jason