/usr/share/systemtap/tapset/linux/x86_64
NameSizeModeActions
aux_syscalls.stp36650644editdlrm
syscall_num.stp656580644editdlrm
sysc_arch_prctl.stp35940644editdlrm
sysc_compat_execve.stp16310644editdlrm
sysc_compat_fadvise64.stp80990644editdlrm
sysc_compat_fallocate.stp41590644editdlrm
sysc_compat_ftruncate64.stp37550644editdlrm
sysc_compat_lookup_dcookie.stp42720644editdlrm
sysc_compat_readahead.stp36920644editdlrm
sysc_compat_truncate64.stp40850644editdlrm
sysc_execve.stp16550644editdlrm
sysc_get_thread_area.stp35550644editdlrm
sysc_iopl.stp25710644editdlrm
sysc_mmap.stp41360644editdlrm
sysc_mmap2.stp26830644editdlrm
sysc_pipe32.stp15720644editdlrm
sysc_set_thread_area.stp34990644editdlrm
sysc_sigaltstack.stp22960644editdlrm
sysc_sysctl32.stp11430644editdlrm
sysc_vm86_warning.stp12000644editdlrm
Edit: /usr/share/systemtap/tapset/linux/x86_64/sysc_sigaltstack.stp (2296B)
%( CONFIG_GENERIC_SIGALTSTACK == "n" || kernel_v < "3.8" %? # sigaltstack ________________________________________________ # long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, # struct pt_regs *regs) # asmlinkage long # sys32_sigaltstack(const stack_ia32_t __user *uss_ptr, # stack_ia32_t __user *uoss_ptr, # struct pt_regs *regs) # # NOTE: args vary between archs. # @define _SYSCALL_SIGALTSTACK_NAME %( name = "sigaltstack" %) @define _SYSCALL_SIGALTSTACK_ARGSTR %( argstr = sprintf("%s, %p", uss_str, uoss_uaddr) %) probe syscall.sigaltstack = dw_syscall.sigaltstack !, nd_syscall.sigaltstack {} probe syscall.sigaltstack.return = dw_syscall.sigaltstack.return !, nd_syscall.sigaltstack.return {} # dw_sigaltstack _____________________________________________________ probe dw_syscall.sigaltstack = kernel.function("sys_sigaltstack").call, kernel.function("sys32_sigaltstack").call ? { @_SYSCALL_SIGALTSTACK_NAME uss_uaddr = @choose_defined($uss, $uss_ptr) uoss_uaddr = @choose_defined($uoss, $uoss_ptr) # 'regs_uaddr' should have been 'regs'. Deprecate the old name. %(systemtap_v <= "1.4" %? regs_uaddr = $regs %) %(systemtap_v < "2.3" %? regs = $regs %) uss_str = (@__compat_task ? _stp_compat_sigaltstack_u(uss_uaddr) : _stp_sigaltstack_u(uss_uaddr)) @_SYSCALL_SIGALTSTACK_ARGSTR } probe dw_syscall.sigaltstack.return = kernel.function("sys_sigaltstack").return, kernel.function("sys32_sigaltstack").return ? { @_SYSCALL_SIGALTSTACK_NAME @SYSC_RETVALSTR($return) } # nd_sigaltstack _____________________________________________________ probe nd_syscall.sigaltstack = kprobe.function("sys_sigaltstack"), kprobe.function("sys32_sigaltstack").call ? { @_SYSCALL_SIGALTSTACK_NAME asmlinkage() uss_uaddr = pointer_arg(1) uoss_uaddr = pointer_arg(2) %(systemtap_v < "2.3" %? regs_uaddr = pointer_arg(3) regs = pointer_arg(3) %) uss_str = (@__compat_task ? _stp_compat_sigaltstack_u(uss_uaddr) : _stp_sigaltstack_u(uss_uaddr)) @_SYSCALL_SIGALTSTACK_ARGSTR } probe nd_syscall.sigaltstack.return = kprobe.function("sys_sigaltstack").return, kprobe.function("sys32_sigaltstack").return ? { @_SYSCALL_SIGALTSTACK_NAME @SYSC_RETVALSTR(returnval()) } %)