Skip to content
  • Steven Rostedt (Red Hat)'s avatar
    tracing: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs() · 7717c6be
    Steven Rostedt (Red Hat) authored
    While cleaning the stacktrace code I unintentially changed the skip depth of
    trace_buffer_unlock_commit_regs() from 0 to 6. kprobes uses this function,
    and with skipping 6 call backs, it can easily produce no stack.
    
    Here's how I tested it:
    
     # echo 'p:ext4_sync_fs ext4_sync_fs ' > /sys/kernel/debug/tracing/kprobe_events
     # echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable
     # cat /sys/kernel/debug/trace
                sync-2394  [005]   502.457060: ext4_sync_fs: (ffffffff81317650)
                sync-2394  [005]   502.457063: kernel_stack:         <stack trace>
                sync-2394  [005]   502.457086: ext4_sync_fs: (ffffffff81317650)
                sync-2394  [005]   502.457087: kernel_stack:         <stack trace>
                sync-2394  [005]   502.457091: ext4_sync_fs: (ffffffff81317650)
    
    After putting back the skip stack to zero, we have:
    
                sync-2270  [000]   748.052693: ext4_sync_fs: (ffffffff81317650)
                sync-2270  [000]   748.052695: kernel_stack:         <stack trace>
     => iterate_supers (ffffffff8126412e)
     => sys_sync (ffffffff8129c4b6)
     => entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
                sync-2270  [000]   748.053017: ext4_sync_fs: (ffffffff81317650)
                sync-2270  [000]   748.053019: kernel_stack:         <stack trace>
     => iterate_supers (ffffffff8126412e)
     => sys_sync (ffffffff8129c4b6)
     => entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
                sync-2270  [000]   748.053381: ext4_sync_fs: (ffffffff81317650)
                sync-2270  [000]   748.053383: kernel_stack:         <stack trace>
     => iterate_supers (ffffffff8126412e)
     => sys_sync (ffffffff8129c4b6)
     => entry_SYSCALL_64_fastpath (ffffffff8181f0b2)
    
    Cc: stable@vger.kernel.org # v4.4+
    Fixes: 73dddbb5
    
     "tracing: Only create stacktrace option when STACKTRACE is configured"
    Reported-by: default avatarBrendan Gregg <brendan.d.gregg@gmail.com>
    Tested-by: default avatarBrendan Gregg <brendan.d.gregg@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    7717c6be