[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.1-testing] xen: do not remap pirqs if !is_hvm_pv_evtchn_domain
# HG changeset patch # User Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> # Date 1328010449 0 # Node ID 00c4b19f264811d14c83b4d0fa7eac80fd55d26e # Parent 69610d3a7ba7daab47919c1a63162c0ff1e33e37 xen: do not remap pirqs if !is_hvm_pv_evtchn_domain If the guest is an HVM guest and it is not using the vector callback mechanism, refuse to remap pirqs onto event channels. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Tested-by: Paulian Bogdan Marinca <paulian@xxxxxxxxxxx> Committed-by: Keir Fraser <keir@xxxxxxx> xen-unstable changeset: 24629:6c9a73817770 xen-unstable date: Tue Jan 31 11:39:37 2012 +0000 --- diff -r 69610d3a7ba7 -r 00c4b19f2648 xen/arch/x86/physdev.c --- a/xen/arch/x86/physdev.c Tue Jan 31 11:45:57 2012 +0000 +++ b/xen/arch/x86/physdev.c Tue Jan 31 11:47:29 2012 +0000 @@ -93,6 +93,15 @@ if ( map->domid == DOMID_SELF && is_hvm_domain(d) ) { + /* + * Only makes sense for vector-based callback, else HVM-IRQ logic + * calls back into itself and deadlocks on hvm_domain.irq_lock. + */ + if ( !is_hvm_pv_evtchn_domain(d) ) + { + ret = -EINVAL; + goto free_domain; + } ret = physdev_hvm_map_pirq(d, map); goto free_domain; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |