2011-05-03 19:51:18 +02:00
|
|
|
# HG changeset patch
|
|
|
|
# User Keir Fraser <keir@xen.org>
|
|
|
|
# Date 1301132521 0
|
|
|
|
# Node ID 48dac730a93b27ff60a340564e9a7afd7f9385f4
|
|
|
|
# Parent 8f001d864fefac689b7662bc9979eaddf4fd6e9c
|
|
|
|
x86: __pirq_guest_eoi() must check it is called for a fully
|
|
|
|
guest-bound irq before accessing desc->action.
|
|
|
|
|
|
|
|
Signed-off-by: Keir Fraser <keir@xen.org>
|
|
|
|
|
2011-09-15 23:43:21 +02:00
|
|
|
Index: xen-4.1.2-testing/xen/arch/x86/irq.c
|
2011-05-17 21:49:05 +02:00
|
|
|
===================================================================
|
2011-09-15 23:43:21 +02:00
|
|
|
--- xen-4.1.2-testing.orig/xen/arch/x86/irq.c
|
|
|
|
+++ xen-4.1.2-testing/xen/arch/x86/irq.c
|
2011-10-18 16:16:28 +02:00
|
|
|
@@ -1033,6 +1033,12 @@ static void __pirq_guest_eoi(struct doma
|
2011-05-03 19:51:18 +02:00
|
|
|
return;
|
2011-05-17 21:49:05 +02:00
|
|
|
}
|
2011-05-03 19:51:18 +02:00
|
|
|
|
|
|
|
+ if ( !(desc->status & IRQ_GUEST) )
|
|
|
|
+ {
|
|
|
|
+ spin_unlock_irq(&desc->lock);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
action = (irq_guest_action_t *)desc->action;
|
|
|
|
irq = desc - irq_desc;
|
|
|
|
|