# HG changeset patch
# User Keir Fraser <keir@xen.org>
# Date 1292514051 0
# Node ID a453885067908f8a092b5d7f7d9ad07c8db3be9c
# Parent  66a6203d27fdd02c1b619343e25e4a3d379aaac9
vtd: Require unmap_vtd_domain_page() on a couple of early exit paths.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xen.org>
xen-unstable changeset:   22549:aa18b8ddaf05
xen-unstable date:        Thu Dec 16 15:38:57 2010 +0000

diff -r 66a6203d27fd -r a45388506790 xen/drivers/passthrough/vtd/iommu.c
--- a/xen/drivers/passthrough/vtd/iommu.c	Wed Dec 15 12:14:05 2010 +0000
+++ b/xen/drivers/passthrough/vtd/iommu.c	Thu Dec 16 15:40:51 2010 +0000
@@ -1300,6 +1300,7 @@
     if ( context_set_domain_id(context, domain, iommu) )
     {
         spin_unlock(&iommu->lock);
+        unmap_vtd_domain_page(context_entries);
         return -EFAULT;
     }
 
@@ -1631,6 +1632,7 @@
     if ( old.val == new.val )
     {
         spin_unlock(&hd->mapping_lock);
+        unmap_vtd_domain_page(page);
         return 0;
     }
     *pte = new;
