|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] fix stack unwinder.,
Xen patchbot-unstable <=
|
|
|
|
|