File 23103-x86-pirq-guest-eoi-check.patch of Package xen

# 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.2-testing/xen/arch/x86/irq.c
===================================================================
--- xen-4.1.2-testing.orig/xen/arch/x86/irq.c
+++ xen-4.1.2-testing/xen/arch/x86/irq.c
@@ -1033,6 +1033,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;
 
openSUSE Build Service is sponsored by