diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2009-07-16 06:36:35 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-09-16 21:31:50 -0400 |
commit | 407505dc01ac2b4f2944cd3c6a0c02473ffb869e (patch) | |
tree | 73e4a061898219ac7db3afdb09d092e9b2f94612 /arch/blackfin/kernel/traps.c | |
parent | 2120b68f31d3b08be99010b3992f58f07794b8b0 (diff) |
Blackfin: do not try displaying the end of the stack
The end of the stack may not be valid (and that could be OK), so do not
attempt to parse it. If we do, we might use a bad pointer in kernel space
which makes things panic().
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/kernel/traps.c')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 519accaf4afc..18c6cd4150f8 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -911,7 +911,7 @@ void show_stack(struct task_struct *task, unsigned long *stack) | |||
911 | frame_no = 0; | 911 | frame_no = 0; |
912 | 912 | ||
913 | for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; | 913 | for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; |
914 | addr <= endstack; addr++, i++) { | 914 | addr < endstack; addr++, i++) { |
915 | 915 | ||
916 | ret_addr = 0; | 916 | ret_addr = 0; |
917 | if (!j && i % 8 == 0) | 917 | if (!j && i % 8 == 0) |