On Mon, Apr 25, 2022 at 10:33:32AM +0200, Jan Beulich wrote: > --- a/xen/drivers/passthrough/iommu.c > +++ b/xen/drivers/passthrough/iommu.c > @@ -307,11 +338,10 @@ int iommu_map(struct domain *d, dfn_t df > if ( !d->is_shutting_down && printk_ratelimit() ) > printk(XENLOG_ERR > "d%d: IOMMU mapping dfn %"PRI_dfn" to mfn %"PRI_mfn" > failed: %d\n", > - d->domain_id, dfn_x(dfn_add(dfn, i)), > - mfn_x(mfn_add(mfn, i)), rc); > + d->domain_id, dfn_x(dfn), mfn_x(mfn), rc);
Since you are already adjusting the line, I wouldn't mind if you also switched to use %pd at once (and in the same adjustment done to iommu_unmap). > > /* while statement to satisfy __must_check */ > - while ( iommu_unmap(d, dfn, i, flush_flags) ) > + while ( iommu_unmap(d, dfn0, i, flush_flags) ) To match previous behavior you likely need to use i + (1UL << order), so pages covered by the map_page call above are also taken care in the unmap request? With that fixed: Reviewed-by: Roger Pau Monné <roger....@citrix.com> (Feel free to adjust the printks to use %pd or not, that's not a requirement for the Rb) Thanks, Roger.