On Mon, Nov 07, 2022 at 08:49:09PM -0400, Jason Gunthorpe wrote: > diff --git a/drivers/iommu/iommufd/main.c b/drivers/iommu/iommufd/main.c > @@ -489,6 +494,15 @@ static int pages_to_xarray(struct xarray *xa, unsigned long start_index, > > xas_lock(&xas); > while (pages != end_pages) { > + /* xarray does not participate in fault injection */ > + if (pages == half_pages && iommufd_should_fail()) { > + xas_set_err(&xas, -EINVAL); > + xas_unlock(&xas); > + /* aka xas_destroy() */ > + xas_nomem(&xas, GFP_KERNEL); > + goto err_clear; Coverity reports an "unchecked return value" at xas_nomem()... > +err_clear: > if (xas_error(&xas)) { ...yet, I think we should be fine since we do xas_error here?