aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@citrix.com>2011-02-09 12:03:09 +0000
committerTim Deegan <Tim.Deegan@citrix.com>2011-02-09 12:03:09 +0000
commitebe3e6440ce49e51c41620161961c4b39c373276 (patch)
tree5acdff18a403f82a6ee5818d04ddeb23ec01b099
parentaa479ce9d1295d153db641ead0d174d9ef9fffa8 (diff)
downloadxen-ebe3e6440ce49e51c41620161961c4b39c373276.tar.gz
xen-ebe3e6440ce49e51c41620161961c4b39c373276.tar.bz2
xen-ebe3e6440ce49e51c41620161961c4b39c373276.zip
x86/mm/shadow: fix unlocking on error path in p2m allocator
One unlock path wasn't gated to match the lock. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
-rw-r--r--xen/arch/x86/mm/shadow/common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 65a2b03e4f..dd9a1555ae 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1634,7 +1634,8 @@ shadow_alloc_p2m_page(struct domain *d)
if ( d->arch.paging.shadow.total_pages
< shadow_min_acceptable_pages(d) + 1 )
{
- shadow_unlock(d);
+ if ( do_locking )
+ shadow_unlock(d);
return NULL;
}