diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2008-07-03 16:24:06 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-07-03 16:24:06 -0400 |
commit | e86322f611eef95aafaf726fd3965e5b211f1985 (patch) | |
tree | 28547e26df4fc6ae671dc8cc6912a53717e4db08 /arch/mips/kernel/traps.c | |
parent | b001a1b6aa960949a24c2cdc28257dfcc9428d74 (diff) | |
parent | 8948896c9e098c6fd31a6a698a598a7cbd7fa40e (diff) |
Merge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r-- | arch/mips/kernel/traps.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index cb8b0e2c7954..f9165d1a17bf 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -88,15 +88,17 @@ static void show_raw_backtrace(unsigned long reg29) | |||
88 | #ifdef CONFIG_KALLSYMS | 88 | #ifdef CONFIG_KALLSYMS |
89 | printk("\n"); | 89 | printk("\n"); |
90 | #endif | 90 | #endif |
91 | #define IS_KVA01(a) ((((unsigned int)a) & 0xc0000000) == 0x80000000) | 91 | while (!kstack_end(sp)) { |
92 | if (IS_KVA01(sp)) { | 92 | unsigned long __user *p = |
93 | while (!kstack_end(sp)) { | 93 | (unsigned long __user *)(unsigned long)sp++; |
94 | addr = *sp++; | 94 | if (__get_user(addr, p)) { |
95 | if (__kernel_text_address(addr)) | 95 | printk(" (Bad stack address)"); |
96 | print_ip_sym(addr); | 96 | break; |
97 | } | 97 | } |
98 | printk("\n"); | 98 | if (__kernel_text_address(addr)) |
99 | print_ip_sym(addr); | ||
99 | } | 100 | } |
101 | printk("\n"); | ||
100 | } | 102 | } |
101 | 103 | ||
102 | #ifdef CONFIG_KALLSYMS | 104 | #ifdef CONFIG_KALLSYMS |