x86/cpu change for v3.5
Subsystems (2)
Linus,
Please pull the latest x86-debug-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-debug-for-linus
HEAD: 57da8b960b9a25646a8ddb5a9c1d0b5978e69bec x86: Avoid double stack traces with show_regs()
Thanks,
Ingo
------------------>
Jan Beulich (1):
x86: Avoid double stack traces with show_regs()
arch/x86/include/asm/kdebug.h | 1 - arch/x86/kernel/dumpstack.c | 2 +- arch/x86/kernel/dumpstack_32.c | 2 +- arch/x86/kernel/dumpstack_64.c | 2 +- arch/x86/kernel/kprobes.c | 4 ++-- arch/x86/kernel/nmi.c | 2 +- arch/x86/kernel/process.c | 6 ------ 7 files changed, 6 insertions(+), 13 deletions(-)
arch/x86/include/asm/kdebug.h +0 -1
@@ -24,7 +24,6 @@ enum die_val {extern void printk_address (unsigned long address,int reliable);extern void die (const char *,struct pt_regs *,long );extern int __must_check __die (const char *,struct pt_regs *,long ); -extern void show_registers (struct pt_regs *regs);extern void show_trace (struct task_struct *t,struct pt_regs *regs,unsigned long *sp,unsigned long bp);extern void __show_regs (struct pt_regs *regs,int all);
arch/x86/kernel/dumpstack.c +1 -1
@@ -271,7 +271,7 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err) current->thread.trap_nr, SIGSEGV) == NOTIFY_STOP)return 1 ; -show_registers (regs); +show_regs (regs);#ifdef CONFIG_X86_32 if (user_mode_vm (regs)) { sp = regs->sp;
arch/x86/kernel/dumpstack_32.c +1 -1
@@ -82,7 +82,7 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, } -void show_registers (struct pt_regs *regs) +void show_regs (struct pt_regs *regs) {int i;
arch/x86/kernel/dumpstack_64.c +1 -1
@@ -245,7 +245,7 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,show_trace_log_lvl (task, regs, sp, bp, log_lvl); } -void show_registers (struct pt_regs *regs) +void show_regs (struct pt_regs *regs) {int i;unsigned long sp;
arch/x86/kernel/kprobes.c +2 -2
@@ -1037,9 +1037,9 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)"current sp %p does not match saved sp %p\n" , stack_addr(regs), kcb->jprobe_saved_sp);printk (KERN_ERR "Saved registers for jprobe %p\n" , jp); -show_registers (saved_regs); +show_regs (saved_regs);printk (KERN_ERR "Current registers\n" ); -show_registers (regs); +show_regs (regs);BUG (); } *regs = kcb->jprobe_saved_regs;
arch/x86/kernel/nmi.c +1 -1
@@ -244,7 +244,7 @@ io_check_error(unsigned char reason, struct pt_regs *regs)pr_emerg ("NMI: IOCK error (debug interrupt?) for reason %02x on CPU %d.\n" , reason,smp_processor_id ()); -show_registers (regs); +show_regs (regs);if (panic_on_io_nmi)panic ("NMI IOCK error: Not continuing" );
arch/x86/kernel/process.c +0 -6
@@ -105,12 +105,6 @@ void exit_thread(void) } } -void show_regs (struct pt_regs *regs) -{ -show_registers (regs); -show_trace (NULL , regs, (unsigned long *)kernel_stack_pointer (regs),0 ); -} -void show_regs_common (void ) {const char *vendor, *product, *board;