summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
Diffstat (limited to 'tapset')
-rw-r--r--tapset/ChangeLog16
-rw-r--r--tapset/aux_syscalls.stp8
-rw-r--r--tapset/syscalls2.stp32
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)
}