diff options
author | Keir Fraser <keir@xen.org> | 2010-12-16 15:40:51 +0000 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2010-12-16 15:40:51 +0000 |
commit | 3c38ca5cb12d49596e8b84efb78c7ddecc83b6bb (patch) | |
tree | 29aeabb39c50c34574b5470710b4d20a68e1cb8d | |
parent | e290721d5802b98f9f8217f69197cbac6daa75ac (diff) | |
download | xen-3c38ca5cb12d49596e8b84efb78c7ddecc83b6bb.tar.gz xen-3c38ca5cb12d49596e8b84efb78c7ddecc83b6bb.tar.bz2 xen-3c38ca5cb12d49596e8b84efb78c7ddecc83b6bb.zip |
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
-rw-r--r-- | xen/drivers/passthrough/vtd/iommu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index c91f190c86..7bae0d4d2c 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -1300,6 +1300,7 @@ static int domain_context_mapping_one( if ( context_set_domain_id(context, domain, iommu) ) { spin_unlock(&iommu->lock); + unmap_vtd_domain_page(context_entries); return -EFAULT; } @@ -1631,6 +1632,7 @@ static int intel_iommu_map_page( if ( old.val == new.val ) { spin_unlock(&hd->mapping_lock); + unmap_vtd_domain_page(page); return 0; } *pte = new; |