提交 5a8ff54c 编写于 作者: J Josh Poimboeuf 提交者: Ingo Molnar

x86/dumpstack: Remove unnecessary stack pointer arguments

When calling show_stack_log_lvl() or dump_trace() with a regs argument,
providing a stack pointer or frame pointer is redundant.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>d
Reviewed-by: NAndy Lutomirski <luto@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Byungchul Park <byungchul.park@lge.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nilay Vaish <nilayvaish@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1694e2e955e3b9a73a3c3d5ba2634344014dd550.1472057064.git.jpoimboe@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 4b8afafb
...@@ -185,7 +185,7 @@ void show_stack(struct task_struct *task, unsigned long *sp) ...@@ -185,7 +185,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)
void show_stack_regs(struct pt_regs *regs) void show_stack_regs(struct pt_regs *regs)
{ {
show_stack_log_lvl(current, regs, (unsigned long *)regs->sp, regs->bp, ""); show_stack_log_lvl(current, regs, NULL, 0, "");
} }
static arch_spinlock_t die_lock = __ARCH_SPIN_LOCK_UNLOCKED; static arch_spinlock_t die_lock = __ARCH_SPIN_LOCK_UNLOCKED;
......
...@@ -122,7 +122,7 @@ void show_regs(struct pt_regs *regs) ...@@ -122,7 +122,7 @@ void show_regs(struct pt_regs *regs)
u8 *ip; u8 *ip;
pr_emerg("Stack:\n"); pr_emerg("Stack:\n");
show_stack_log_lvl(NULL, regs, &regs->sp, 0, KERN_EMERG); show_stack_log_lvl(NULL, regs, NULL, 0, KERN_EMERG);
pr_emerg("Code:"); pr_emerg("Code:");
......
...@@ -283,9 +283,7 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, ...@@ -283,9 +283,7 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
void show_regs(struct pt_regs *regs) void show_regs(struct pt_regs *regs)
{ {
int i; int i;
unsigned long sp;
sp = regs->sp;
show_regs_print_info(KERN_DEFAULT); show_regs_print_info(KERN_DEFAULT);
__show_regs(regs, 1); __show_regs(regs, 1);
...@@ -300,8 +298,7 @@ void show_regs(struct pt_regs *regs) ...@@ -300,8 +298,7 @@ void show_regs(struct pt_regs *regs)
u8 *ip; u8 *ip;
printk(KERN_DEFAULT "Stack:\n"); printk(KERN_DEFAULT "Stack:\n");
show_stack_log_lvl(NULL, regs, (unsigned long *)sp, show_stack_log_lvl(NULL, regs, NULL, 0, KERN_DEFAULT);
0, KERN_DEFAULT);
printk(KERN_DEFAULT "Code: "); printk(KERN_DEFAULT "Code: ");
......
...@@ -113,8 +113,6 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth) ...@@ -113,8 +113,6 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth)
struct stack_frame *head = (struct stack_frame *)frame_pointer(regs); struct stack_frame *head = (struct stack_frame *)frame_pointer(regs);
if (!user_mode(regs)) { if (!user_mode(regs)) {
unsigned long stack = kernel_stack_pointer(regs);
if (!depth) if (!depth)
return; return;
...@@ -122,8 +120,7 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth) ...@@ -122,8 +120,7 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth)
if (!--depth) if (!--depth)
return; return;
dump_trace(NULL, regs, (unsigned long *)stack, 0, dump_trace(NULL, regs, NULL, 0, &backtrace_ops, &depth);
&backtrace_ops, &depth);
return; return;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册