mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 10:37:47 +00:00
x86: traps_xx: modify __die
if (cond) block -> if (!cond) goto end_of_block Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm> Acked-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
badc76527f
commit
e423f49fc8
@ -399,26 +399,22 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err)
|
|||||||
printk("DEBUG_PAGEALLOC");
|
printk("DEBUG_PAGEALLOC");
|
||||||
#endif
|
#endif
|
||||||
printk("\n");
|
printk("\n");
|
||||||
|
|
||||||
if (notify_die(DIE_OOPS, str, regs, err,
|
if (notify_die(DIE_OOPS, str, regs, err,
|
||||||
current->thread.trap_no, SIGSEGV) != NOTIFY_STOP) {
|
current->thread.trap_no, SIGSEGV) == NOTIFY_STOP)
|
||||||
|
return 1;
|
||||||
|
|
||||||
show_registers(regs);
|
show_registers(regs);
|
||||||
/* Executive summary in case the oops scrolled away */
|
/* Executive summary in case the oops scrolled away */
|
||||||
sp = (unsigned long) (®s->sp);
|
sp = (unsigned long) (®s->sp);
|
||||||
savesegment(ss, ss);
|
savesegment(ss, ss);
|
||||||
if (user_mode(regs)) {
|
if (user_mode(regs)) {
|
||||||
sp = regs->sp;
|
sp = regs->sp;
|
||||||
ss = regs->ss & 0xffff;
|
ss = regs->ss & 0xffff;
|
||||||
}
|
|
||||||
printk(KERN_EMERG "EIP: [<%08lx>] ", regs->ip);
|
|
||||||
print_symbol("%s", regs->ip);
|
|
||||||
printk(" SS:ESP %04x:%08lx\n", ss, sp);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
printk(KERN_EMERG "EIP: [<%08lx>] ", regs->ip);
|
||||||
return 1;
|
print_symbol("%s", regs->ip);
|
||||||
|
printk(" SS:ESP %04x:%08lx\n", ss, sp);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -557,9 +557,9 @@ void __kprobes oops_end(unsigned long flags, struct pt_regs *regs, int signr)
|
|||||||
do_exit(signr);
|
do_exit(signr);
|
||||||
}
|
}
|
||||||
|
|
||||||
int __kprobes __die(const char * str, struct pt_regs * regs, long err)
|
int __kprobes __die(const char *str, struct pt_regs *regs, long err)
|
||||||
{
|
{
|
||||||
printk(KERN_EMERG "%s: %04lx [%u] ", str, err & 0xffff,++die_counter);
|
printk(KERN_EMERG "%s: %04lx [%u] ", str, err & 0xffff, ++die_counter);
|
||||||
#ifdef CONFIG_PREEMPT
|
#ifdef CONFIG_PREEMPT
|
||||||
printk("PREEMPT ");
|
printk("PREEMPT ");
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user