lkml.org 
[lkml]   [2009]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC][PATCH -tip 2/9] x86: fix kernel_trap_sp()
    Use &regs->sp instead of regs for getting the top of stack in kernel mode.
    (on x86-64, regs->sp always points the top of stack)

    Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Harvey Harrison <harvey.harrison@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jan Blunck <jblunck@suse.de>
    ---
    arch/x86/include/asm/ptrace.h | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
    index e304b66..aed0894 100644
    --- a/arch/x86/include/asm/ptrace.h
    +++ b/arch/x86/include/asm/ptrace.h
    @@ -187,14 +187,14 @@ static inline int v8086_mode(struct pt_regs *regs)

    /*
    * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
    - * when it traps. So regs will be the current sp.
    + * when it traps. So &regs->sp will be the current sp.
    *
    * This is valid only for kernel mode traps.
    */
    static inline unsigned long kernel_trap_sp(struct pt_regs *regs)
    {
    #ifdef CONFIG_X86_32
    - return (unsigned long)regs;
    + return (unsigned long)&regs->sp;
    #else
    return regs->sp;
    #endif
    --
    Masami Hiramatsu
    Software Engineer
    Hitachi Computer Products (America) Inc.
    Software Solutions Division

    e-mail: mhiramat@redhat.com




    \
     
     \ /
      Last update: 2009-03-19 22:15    [W:0.023 / U:1.152 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site