]> 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:11:37 +0000 (15:11 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 25 Aug 2021 13:11:37 +0000 (15:11 +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 cf4da2b00a2bb1852f8968368f3ad014726ecf60..90c6e8b93e3869b4f1a3b727ff723fd8ba967a5b 100644 (file)
@@ -256,7 +256,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 )
             {