diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/ChangeLog | 16 | ||||
-rw-r--r-- | tapset/aux_syscalls.stp | 8 | ||||
-rw-r--r-- | tapset/syscalls2.stp | 32 |
3 files changed, 44 insertions, 12 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 49ccfbfa..936d9847 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,19 @@ +2007-12-12 Martin Hunt <hunt@redhat.com> + + * syscalls2.stp (compat_sys_ptrace): Remove for now. + Utrace-patched kernels have a different compat_sys_ptrace(). + +2007-12-7 Zhaolei <zhaolei@cn.fujitsu.com> + + From Yang Zhiguo <yzgcsu@cn.fujitsu.com> + * syscalls2.stp: Add missed compat* probes in syscalls2.stp. + +2007-12-7 Zhaolei <zhaolei@cn.fujitsu.com> + + From Bai Weidong <baiwd@cn.fujitsu.com> + * aux_syscalls.stp (__sem_flags): Add the missed mode display, + Fix calculation error when string is empty. + 2007-11-21 Zhaolei <zhaolei@cn.fujitsu.com> From Bai Weidong <baiwd@cn.fujitsu.com> diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index e8823190..135ea98f 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -382,13 +382,19 @@ function __sem_flags:string(semflg:long) %{ /* pure */ long semflg = THIS->semflg; char *str = THIS->__retvalue; + int mode = semflg & S_IRWXUGO; + int len; + if (mode) + snprintf(str, MAXSTRINGLEN, "%#o|", mode); if (semflg & IPC_CREAT) strlcat(str, "IPC_CREAT|", MAXSTRINGLEN); if (semflg & IPC_EXCL) strlcat(str, "IPC_EXCL|", MAXSTRINGLEN); - str[strlen(str)-1] = 0; + len = strlen(str); + if (len) + str[len-1] = 0; %} diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index 7029e09c..e49a9224 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -455,22 +455,20 @@ probe syscall.compat_pselect7.return = kernel.function("compat_sys_pselect7").re # ptrace _____________________________________________________ # -# asmlinkage int -# sys_ptrace(long request, +# int sys_ptrace(long request, # long pid, # long addr, # long data) # -probe syscall.ptrace = kernel.function("sys_ptrace") { - name = "ptrace" +probe syscall.ptrace = kernel.function("sys_ptrace") ? { + name = "ptrace" request = $request pid = $pid addr = $addr data = $data - argstr = sprintf("%p, %p, %p, %p", request, pid, - addr, data) + argstr = sprintf("%d, %d, %p, %p", request, pid, addr, data) } -probe syscall.ptrace.return = kernel.function("sys_ptrace").return { +probe syscall.ptrace.return = kernel.function("sys_ptrace").return ? { name = "ptrace" retstr = returnstr(1) } @@ -1645,14 +1643,20 @@ probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer"). # unsigned long __user *nmask, # unsigned long maxnode) # -probe syscall.set_mempolicy = kernel.function("sys_set_mempolicy") ? { +probe syscall.set_mempolicy = + kernel.function("sys_set_mempolicy") ?, + kernel.function("compat_sys_set_mempolicy") ? +{ name = "set_mempolicy" mode = $mode nmask_uaddr = $nmask maxnode = $maxnode argstr = sprintf("%d, %p, %d", $mode, $nmask, $maxnode) } -probe syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return ? { +probe syscall.set_mempolicy.return = + kernel.function("sys_set_mempolicy").return ?, + kernel.function("compat_sys_set_mempolicy").return ? +{ name = "set_mempolicy" retstr = returnstr(1) } @@ -2467,11 +2471,17 @@ probe syscall.sync.return = kernel.function("sys_sync").return { # # long sys_sysctl(struct __sysctl_args __user *args) # -probe syscall.sysctl = kernel.function("sys_sysctl") ? { +probe syscall.sysctl = + kernel.function("sys_sysctl") ?, + kernel.function("compat_sys_sysctl") ? +{ name = "sysctl" argstr = sprintf("%p", $args) } -probe syscall.sysctl.return = kernel.function("sys_sysctl").return ? { +probe syscall.sysctl.return = + kernel.function("sys_sysctl").return ?, + kernel.function("compat_sys_sysctl").return ? +{ name = "sysctl" retstr = returnstr(1) } |