[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/passthrough: don't leak guest IRQs
As unmap_domain_pirq_emuirq() fails on a never mapped pIRQ, it must not be called for the non-emu-IRQ case (to prevent the entire unmap operation failing). Based on a suggestion from Stefano. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Tested-by: Yongjie Ren <yongjie.ren@xxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> --- a/xen/arch/x86/physdev.c +++ b/xen/arch/x86/physdev.c @@ -219,7 +219,8 @@ int physdev_unmap_pirq(domid_t domid, in if ( is_hvm_domain(d) ) { spin_lock(&d->event_lock); - ret = unmap_domain_pirq_emuirq(d, pirq); + if ( domain_pirq_to_emuirq(d, pirq) != IRQ_UNBOUND ) + ret = unmap_domain_pirq_emuirq(d, pirq); spin_unlock(&d->event_lock); if ( domid == DOMID_SELF || ret ) goto free_domain; Attachment:
x86-pt-irq-leak.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |