From: Wei Gang Date: Wed, 26 Jan 2011 09:05:53 +0000 (+0000) Subject: x86: Fix pirq teardown on domain destruction. X-Git-Tag: 4.0.2-rc2~6 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=70de4016b4fba4de5b02827a80c59a8f1671c0bf;p=xen.git x86: Fix pirq teardown on domain destruction. The privilege check in unmap_domain_pirq() fails since the teardown completes in RCU (idle domain) context. We can remove the check since it is covered in physdev_op() already, which is the only potentially unprivileged caller. Signed-off-by: Wei Gang xen-unstable changeset: 22816:e7f44fb4ecc3 xen-unstable date: Wed Jan 26 08:54:12 2011 +0000 --- diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 5458cedaa3..e0c7c95957 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -1549,9 +1549,6 @@ int unmap_domain_pirq(struct domain *d, int pirq) if ( (pirq < 0) || (pirq >= d->nr_pirqs) ) return -EINVAL; - if ( !IS_PRIV_FOR(current->domain, d) ) - return -EINVAL; - ASSERT(spin_is_locked(&pcidevs_lock)); ASSERT(spin_is_locked(&d->event_lock));