aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/physdev.c
diff options
context:
space:
mode:
authorMatthew Daley <mattjd@gmail.com>2013-03-06 17:10:26 +0100
committerJan Beulich <jbeulich@suse.com>2013-03-06 17:10:26 +0100
commit9581c4f9a55372a21e759cd449cb676d0e8feddb (patch)
treee2c302dd26afb53166f7b9dba8c9ef398444d2fc /xen/arch/x86/physdev.c
parent17b65c793ca5e924f355d433945d868b4427ea12 (diff)
downloadxen-9581c4f9a55372a21e759cd449cb676d0e8feddb.tar.gz
xen-9581c4f9a55372a21e759cd449cb676d0e8feddb.tar.bz2
xen-9581c4f9a55372a21e759cd449cb676d0e8feddb.zip
fix domain unlocking in some xsm error paths
A couple of xsm error/access-denied code paths in hypercalls neglect to unlock a previously locked domain. Fix by ensuring the domains are unlocked correctly. Signed-off-by: Matthew Daley <mattjd@gmail.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/physdev.c')
-rw-r--r--xen/arch/x86/physdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 134eb73240..e8b4e7684a 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -111,7 +111,7 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
ret = xsm_map_domain_pirq(XSM_TARGET, d);
if ( ret )
- return ret;
+ goto free_domain;
/* Verify or get irq. */
switch ( type )