aboutsummaryrefslogtreecommitdiffstats
path: root/tools/misc/xen-hvmctx.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2011-09-18 00:00:26 +0100
committerIgor Mammedov <imammedo@redhat.com>2011-09-18 00:00:26 +0100
commit022aa5fea4fcd347a1657baac68eae8d24fe3b9f (patch)
tree65455f471e4390f8817a2be439ead59b1853e254 /tools/misc/xen-hvmctx.c
parentd25d48e6ad8801959c9680d02c141a3572d2c6bc (diff)
downloadxen-022aa5fea4fcd347a1657baac68eae8d24fe3b9f.tar.gz
xen-022aa5fea4fcd347a1657baac68eae8d24fe3b9f.tar.bz2
xen-022aa5fea4fcd347a1657baac68eae8d24fe3b9f.zip
Clear IRQ_GUEST in irq_desc->status when setting action to NULL.
Looking more closely at usage of action field with relation to IRQ_GUEST flag. It appears that set IRQ_GUEST implies that action is not NULL. As result it is not safe to set action to NULL and leave IRQ_GUEST set. Hence IRQ_GUEST should be cleared in dynamic_irq_cleanup where action is set to NULL. An addition remove BUGON at __pirq_guest_unbind that appears to be bogus and not needed anymore. Thanks Paolo Bonzini for NACKing previous patch, and pointing at the correct solution. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reinstate the BUG_ON, but after the action==NULL check. Since we then go and start interpreting action as an irq_guest_action_t, the BUG_ON is relevant here. More generally, the brute-force nature of dynamic_irq_cleanup() looks a bit worrying. Possibly there should be more integratioin with pirq_guest_unbind() logic, for cleaning up un-acked EOIs and the like. Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/misc/xen-hvmctx.c')
0 files changed, 0 insertions, 0 deletions