diff options
author | Chuck Ebbert <76306.1226@compuserve.com> | 2006-06-23 05:04:31 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-23 10:42:59 -0400 |
commit | 7e04a1183eac3e6b3570a154c8677fd9184b51e7 (patch) | |
tree | c7e65549871504bb4df03982f9a7581aa6417cab /arch/i386/kernel/traps.c | |
parent | 722f4f5b2600b8930b63a096e48b878cd6e0e15a (diff) |
[PATCH] i386: extra checks in show_registers()
Sometimes thread_info and task_struct get out-of-sync with each other.
Printing task.thread_info in show_registers() can help spot this. And when
task_struct is corrupt then task.comm can contain garbage, so only print as
many characters as it can hold.
Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/traps.c')
-rw-r--r-- | arch/i386/kernel/traps.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index df9d210626ac..dcc14477af1f 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -274,8 +274,9 @@ void show_registers(struct pt_regs *regs) | |||
274 | regs->esi, regs->edi, regs->ebp, esp); | 274 | regs->esi, regs->edi, regs->ebp, esp); |
275 | printk(KERN_EMERG "ds: %04x es: %04x ss: %04x\n", | 275 | printk(KERN_EMERG "ds: %04x es: %04x ss: %04x\n", |
276 | regs->xds & 0xffff, regs->xes & 0xffff, ss); | 276 | regs->xds & 0xffff, regs->xes & 0xffff, ss); |
277 | printk(KERN_EMERG "Process %s (pid: %d, threadinfo=%p task=%p)", | 277 | printk(KERN_EMERG "Process %.*s (pid: %d, ti=%p task=%p task.ti=%p)", |
278 | current->comm, current->pid, current_thread_info(), current); | 278 | TASK_COMM_LEN, current->comm, current->pid, |
279 | current_thread_info(), current, current->thread_info); | ||
279 | /* | 280 | /* |
280 | * When in-kernel, we also print out the stack and code at the | 281 | * When in-kernel, we also print out the stack and code at the |
281 | * time of the fault.. | 282 | * time of the fault.. |