mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 10:32:35 +00:00
s390/dumpstack: resolve userspace last_break
report_user_fault() currently does not show which library last_break points to. Call print_vma_addr() to find out; the output now looks like this: Last Breaking-Event-Address: [<000003ffaa2a56e4>] libc.so.6[3ffaa180000+251000] For kernel it's unchanged: Last Breaking-Event-Address: [<000000000030fd06>] trace_hardirqs_on+0x56/0xc8 Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
7db1224630
commit
7229ea86e0
@ -152,7 +152,13 @@ void show_stack(struct task_struct *task, unsigned long *stack,
|
||||
static void show_last_breaking_event(struct pt_regs *regs)
|
||||
{
|
||||
printk("Last Breaking-Event-Address:\n");
|
||||
printk(" [<%016lx>] %pSR\n", regs->last_break, (void *)regs->last_break);
|
||||
printk(" [<%016lx>] ", regs->last_break);
|
||||
if (user_mode(regs)) {
|
||||
print_vma_addr(KERN_CONT, regs->last_break);
|
||||
pr_cont("\n");
|
||||
} else {
|
||||
pr_cont("%pSR\n", (void *)regs->last_break);
|
||||
}
|
||||
}
|
||||
|
||||
void show_registers(struct pt_regs *regs)
|
||||
|
Loading…
Reference in New Issue
Block a user