[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] fix stack unwinder.



# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1219658677 -32400
# Node ID 5bb2700e773aec8ddef0a8065421b4734b4a7b68
# Parent  5a61dba2cf0add71f83b99e0062b06b884445e21
[IA64] fix stack unwinder.

The stack unwinder can be called in interrupt context. On the other
hand xmalloc() can't be called in interrupt context.
Don't call xmalloc() if in the interrupt context.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/linux-xen/unwind.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -r 5a61dba2cf0a -r 5bb2700e773a xen/arch/ia64/linux-xen/unwind.c
--- a/xen/arch/ia64/linux-xen/unwind.c  Mon Aug 25 19:04:37 2008 +0900
+++ b/xen/arch/ia64/linux-xen/unwind.c  Mon Aug 25 19:04:37 2008 +0900
@@ -91,9 +91,9 @@
 #endif
 
 #ifdef XEN
-#define alloc_reg_state()      xmalloc(struct unw_reg_state)
+#define alloc_reg_state()      ({in_irq()? NULL: xmalloc(struct 
unw_reg_state);})
 #define free_reg_state(usr)    xfree(usr)
-#define alloc_labeled_state()  xmalloc(struct unw_labeled_state)
+#define alloc_labeled_state()  ({in_irq()? NULL: xmalloc(struct 
unw_labeled_state);})
 #define free_labeled_state(usr)        xfree(usr)
 #else
 #define alloc_reg_state()      kmalloc(sizeof(struct unw_reg_state), 
GFP_ATOMIC)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.