aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/sys_string.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-05-23 10:09:17 +0200
committerJan Beulich <jbeulich@suse.com>2013-05-23 10:09:17 +0200
commit0cda713442ada58aa2242d1df6af6b4fe925d212 (patch)
treea9fc3537340cf43bf8ba1ae15ca3c88ae8385009 /tools/lib/sys_string.h
parent0b05309aa78ef834ece1b27866be279c9e184572 (diff)
downloadxen-0cda713442ada58aa2242d1df6af6b4fe925d212.tar.gz
xen-0cda713442ada58aa2242d1df6af6b4fe925d212.tar.bz2
xen-0cda713442ada58aa2242d1df6af6b4fe925d212.zip
x86/IO-APIC: fix guest RTE write corner cases
This fixes two regressions from c/s 20143:a7de5bd776ca ("x86: Make the hypercall PHYSDEVOP_alloc_irq_vector hypercall dummy"): For one, IRQs that had their vector set up by Xen internally without a handler ever having got set (e.g. via "com<n>=..." without a matching consumer option like "console=com<n>") would wrongly call add_pin_to_irq() here, triggering the BUG_ON() in that function. Second, when assign_irq_vector() fails this addition to irq_2_pin[] needs to be undone. In the context of this I'm also surprised that the irq_2_pin[] manipulations here occur without any lock, i.e. rely on Dom0 to do some sort of serialization. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> master commit: 30256a0ff17f6f3b1278b85103187341d5b0ac42 master date: 2013-05-15 10:52:02 +0200
Diffstat (limited to 'tools/lib/sys_string.h')
0 files changed, 0 insertions, 0 deletions