aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-06-27 13:52:55 +0200
committerJan Beulich <jbeulich@suse.com>2013-06-27 13:52:55 +0200
commita04ad70f7598336e08119f47a9b478e7adc5d529 (patch)
treecd77c3c0d33a7d29320481befeea667a8787e8e9
parent4552269c2bb3d34a3f3102f72c0edc82c70138ad (diff)
downloadxen-a04ad70f7598336e08119f47a9b478e7adc5d529.tar.gz
xen-a04ad70f7598336e08119f47a9b478e7adc5d529.tar.bz2
xen-a04ad70f7598336e08119f47a9b478e7adc5d529.zip
x86: fix emuirq regression from XSA-21 fix
The XSA-21 patch broke the assumption of "ret" being zero prior to the IRQ_UNBOUND check. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-rw-r--r--xen/arch/x86/physdev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index bf1ff16144..92d3a80343 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -243,6 +243,8 @@ static int physdev_unmap_pirq(struct physdev_unmap_pirq *unmap)
spin_lock(&d->event_lock);
if ( domain_pirq_to_emuirq(d, unmap->pirq) != IRQ_UNBOUND )
ret = unmap_domain_pirq_emuirq(d, unmap->pirq);
+ else
+ ret = 0;
spin_unlock(&d->event_lock);
if ( unmap->domid == DOMID_SELF || ret )
goto free_domain;