lkml.org 
[lkml]   [2016]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 11/44] x86/dumpstack: remove unnecessary stack pointer arguments
    Date
    When calling show_stack_log_lvl() or dump_trace() with a regs argument,
    providing a stack pointer or frame pointer is redundant.

    Reviewed-by: Andy Lutomirski <luto@kernel.org>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>d
    ---
    arch/x86/kernel/dumpstack.c | 2 +-
    arch/x86/kernel/dumpstack_32.c | 2 +-
    arch/x86/kernel/dumpstack_64.c | 5 +----
    arch/x86/oprofile/backtrace.c | 4 +---
    4 files changed, 4 insertions(+), 9 deletions(-)

    diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
    index 68f42bb..692eecae 100644
    --- a/arch/x86/kernel/dumpstack.c
    +++ b/arch/x86/kernel/dumpstack.c
    @@ -200,7 +200,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)

    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;
    diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c
    index 358fe1c..c533b8b 100644
    --- a/arch/x86/kernel/dumpstack_32.c
    +++ b/arch/x86/kernel/dumpstack_32.c
    @@ -122,7 +122,7 @@ void show_regs(struct pt_regs *regs)
    u8 *ip;

    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:");

    diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c
    index 3c5dbc0..491f2fd 100644
    --- a/arch/x86/kernel/dumpstack_64.c
    +++ b/arch/x86/kernel/dumpstack_64.c
    @@ -283,9 +283,7 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
    void show_regs(struct pt_regs *regs)
    {
    int i;
    - unsigned long sp;

    - sp = regs->sp;
    show_regs_print_info(KERN_DEFAULT);
    __show_regs(regs, 1);

    @@ -300,8 +298,7 @@ void show_regs(struct pt_regs *regs)
    u8 *ip;

    printk(KERN_DEFAULT "Stack:\n");
    - show_stack_log_lvl(NULL, regs, (unsigned long *)sp,
    - 0, KERN_DEFAULT);
    + show_stack_log_lvl(NULL, regs, NULL, 0, KERN_DEFAULT);

    printk(KERN_DEFAULT "Code: ");

    diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c
    index cb31a44..c594768 100644
    --- a/arch/x86/oprofile/backtrace.c
    +++ b/arch/x86/oprofile/backtrace.c
    @@ -113,10 +113,8 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth)
    struct stack_frame *head = (struct stack_frame *)frame_pointer(regs);

    if (!user_mode(regs)) {
    - unsigned long stack = kernel_stack_pointer(regs);
    if (depth)
    - dump_trace(NULL, regs, (unsigned long *)stack, 0,
    - &backtrace_ops, &depth);
    + dump_trace(NULL, regs, NULL, 0, &backtrace_ops, &depth);
    return;
    }

    --
    2.7.4
    \
     
     \ /
      Last update: 2016-08-05 01:01    [W:2.203 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site