... an already not mapped page. With all other exit paths doing the
unmap, I have no idea how I managed to miss that aspect at the time.

Fixes: ad591454f069 ("AMD/IOMMU: don't needlessly trigger errors/crashes when 
unmapping a page")
Signed-off-by: Jan Beulich <[email protected]>

--- a/xen/drivers/passthrough/amd/iommu_map.c   2021-07-22 08:07:12.501229386 
+0200
+++ b/xen/drivers/passthrough/amd/iommu_map.c   2021-07-22 08:08:02.360893418 
+0200
@@ -243,7 +243,10 @@ static int iommu_pde_from_dfn(struct dom
         else if ( !pde->pr )
         {
             if ( !map )
+            {
+                unmap_domain_page(next_table_vaddr);
                 return 0;
+            }
 
             if ( next_table_mfn == 0 )
             {


Reply via email to