• Steven Rostedt's avatar
    x86_32: Return actual stack when requesting sp from regs · 6c8d8b3c
    Steven Rostedt authored
    As x86_32 traps do not save sp when taken in kernel mode, we need to
    accommodate the sp when requesting to get the register.
    
    This affects kprobes.
    
    Before:
    
     # echo 'p:ftrace sys_read+4 s=%sp' > /debug/tracing/kprobe_events
     # echo 1 > /debug/tracing/events/kprobes/enable
     # cat trace
                sshd-1345  [000] d...   489.117168: ftrace: (sys_read+0x4/0x70) s=b7e96768
                sshd-1345  [000] d...   489.117191: ftrace: (sys_read+0x4/0x70) s=b7e96768
                 cat-1447  [000] d...   489.117392: ftrace: (sys_read+0x4/0x70) s=5a7
                 cat-1447  [001] d...   489.118023: ftrace: (sys_read+0x4/0x70) s=b77ad05f
                less-1448  [000] d...   489.118079: ftrace: (sys_read+0x4/0x70) s=b7762e06
                less-1448  [000] d...   489.118117: ftrace: (sys_read+0x4/0x70) s=b7764970
    
    After:
                sshd-1352  [000] d...   362.348016: ftrace: (sys_read+0x4/0x70) s=f3febfa8
                sshd-1352  [000] d...   362.348048: ftrace: (sys_read+0x4/0x70) s=f3febfa8
                bash-1355  [001] d...   362.348081: ftrace: (sys_read+0x4/0x70) s=f5075fa8
                sshd-1352  [000] d...   362.348082: ftrace: (sys_read+0x4/0x70) s=f3febfa8
                sshd-1352  [000] d...   362.690950: ftrace: (sys_read+0x4/0x70) s=f3febfa8
                bash-1355  [001] d...   362.691033: ftrace: (sys_read+0x4/0x70) s=f5075fa8
    
    Link: http://lkml.kernel.org/r/1342208654.30075.22.camel@gandalf.stny.rr.comReviewed-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    6c8d8b3c
ptrace.h 7.44 KB