On 4/29/22 13:14, Jason Gunthorpe wrote: > 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.. It's part of the reason I splitted this part as it didn't struck as a natural extension of the API.