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: Andy 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.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
4b8afafbe7
commit
5a8ff54c26
|
@ -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)
|
||||||
u8 *ip;
|
u8 *ip;
|
||||||
|
|
||||||
pr_emerg("Stack:\n");
|
pr_emerg("Stack:\n");
|
||||||
show_stack_log_lvl(NULL, regs, ®s->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,
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue