]> xenbits.xensource.com Git - xen.git/commitdiff
AMD/IOMMU: don't leave page table mapped when unmapping ...
authorJan Beulich <jbeulich@suse.com>
Wed, 25 Aug 2021 13:29:07 +0000 (15:29 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 25 Aug 2021 13:29:07 +0000 (15:29 +0200)
... 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 <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
master commit: 3cfec6a6aa7a7bf68f8e19e21f450c2febe9acb4
master date: 2021-08-20 12:30:35 +0200

xen/drivers/passthrough/amd/iommu_map.c

index 927d6224a9a95a6ddf9e259196eb2812b5d7edb1..ac30cac05b3e61588ec328766078607e6903b714 100644 (file)
@@ -266,7 +266,10 @@ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
         else if ( !pde->pr )
         {
             if ( !map )
+            {
+                unmap_domain_page(next_table_vaddr);
                 return 0;
+            }
 
             if ( next_table_mfn == 0 )
             {