diff options
| author | Oleg Nesterov <oleg@tv-sign.ru> | 2004-10-18 09:02:14 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-10-18 09:02:14 -0700 |
| commit | c2634010e63ddba0efee4546b3f10f4d19acace2 (patch) | |
| tree | 8b2dbf34cc64f1dafbcc92ea6852f630d4c3e9a8 /kernel | |
| parent | e78a321619b295e6744a6eeb713d722781ef955e (diff) | |
[PATCH] Fix show_trace() in irq context with CONFIG_4KSTACKS
- valid_stack_ptr() erroneously assumes that stack always lives in
task_struct->thread_info.
- the main loop in show_trace() does not recalc ebp after stack
switching. With CONFIG_FRAME_POINTER every call to print_context_stack()
will produce the same output.
With this patch, show_trace() does not use task argument in the main loop.
Instead, it converts stack to thread_info* context, and passes it to
print_context_stack() and (implicitly) to valid_stack_ptr().
valid_stack_ptr() now does bounds checking against proper context.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions
