diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-06-27 13:52:55 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-06-27 13:52:55 +0200 |
commit | a04ad70f7598336e08119f47a9b478e7adc5d529 (patch) | |
tree | cd77c3c0d33a7d29320481befeea667a8787e8e9 | |
parent | 4552269c2bb3d34a3f3102f72c0edc82c70138ad (diff) | |
download | xen-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.c | 2 |
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; |