28 lines
809 B
Diff
28 lines
809 B
Diff
# 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>
|
|
|
|
Index: xen-4.1.0-testing/xen/arch/x86/irq.c
|
|
===================================================================
|
|
--- xen-4.1.0-testing.orig/xen/arch/x86/irq.c
|
|
+++ xen-4.1.0-testing/xen/arch/x86/irq.c
|
|
@@ -1028,6 +1028,12 @@ static void __pirq_guest_eoi(struct doma
|
|
return;
|
|
}
|
|
|
|
+ if ( !(desc->status & IRQ_GUEST) )
|
|
+ {
|
|
+ spin_unlock_irq(&desc->lock);
|
|
+ return;
|
|
+ }
|
|
+
|
|
action = (irq_guest_action_t *)desc->action;
|
|
irq = desc - irq_desc;
|
|
|