summaryrefslogtreecommitdiffstats
path: root/tapset/syscalls2.stp
diff options
context:
space:
mode:
authorhunt <hunt>2007-07-31 16:20:30 +0000
committerhunt <hunt>2007-07-31 16:20:30 +0000
commita968ea63067cb079cbd1608804ec80c36026f0ab (patch)
tree3f39852ec51e7e39ce69a0ec1d39449ef56b1067 /tapset/syscalls2.stp
parent291f7a3a00b127c0128434c7af7923331ef34bd7 (diff)
downloadsystemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.gz
systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.tar.xz
systemtap-steved-a968ea63067cb079cbd1608804ec80c36026f0ab.zip
2007-07-31 Martin Hunt <hunt@redhat.com>
* */syscalls.stp: Added mmap functions. Continued moving common compatibility functions to the main tapset. * aux_syscalls.stp (_shmat_flags_str): New. (__get_compat_argv): New. * syscalls.stp (adjtimex): Just print hex argument. (compat_adjtimex): New. (clock_getres): Also probe compat_clock_getres. (clock_gettime): Also probe compat funcs. (compat_clock_nanosleep): New. (compat_execve): New. (fstatat): New. (get[e][gu]id): Also probe sys32. (getsockopt): Make optional. Also probe compat. (mmap, mmap2): These are arch-specific, so move to individual architecture subdirs. (compat_sys_msgctl): New. (compat_sys_msgrcv): New. (compat_sys_msgsnd): New. * syscalls.stp (pread32): Remove. It calls pread64 . (quotactl): Make optional. (recv): Probe correct function. (recvfrom): Fix args. (compat_sys_recvmsg): New. (semctl): Make optional. (compat_sys_semctl): New. (semget): Make optional. (semop): Make optional. (semtimedop): Make optional. (compat_sys_semtimedop): New. (send): Make optional. (sendmsg): Make optional. (compat_sys_sendmsg): New. (sendto): Make optional. (setsockopt): Make optional. Add compat. (shmat): New. (compat_sys_shmat): New. (shmctl): New. (compat_sys_shmctl): New. (shmdt): New. (shmget): New. (shutdown): Make optional. (socket): Make optional. (socketpair): Make optional. (swapoff): Make optional. (swapon): Make optional. (sysctl): Add probe on sys32.
Diffstat (limited to 'tapset/syscalls2.stp')
-rw-r--r--tapset/syscalls2.stp328
1 files changed, 209 insertions, 119 deletions
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
index 0554f3cf..79294cd4 100644
--- a/tapset/syscalls2.stp
+++ b/tapset/syscalls2.stp
@@ -402,26 +402,6 @@ probe syscall.pread.return = kernel.function("sys_pread64").return {
name = "pread"
retstr = returnstr(1)
}
-#long sys32_pread64(unsigned int fd, char __user *ubuf,
-# size_t count, u32 poshi, u32 poslo)
-probe syscall.pread32 = kernel.function("sys32_pread64") ? {
- name = "pread"
- fd = $fd
- buf_uaddr = $buf
- count = $count
- offset = ($poshi << 32) + $poslo
-%( arch == "s390x" %?
- buf_uaddr = $ubuf
- argstr = sprintf("%d, %p, %d, %d", $fd, $ubuf, $count, ($poshi << 32) + $poslo)
-%:
- buf_uaddr = $buf
- argstr = sprintf("%d, %p, %d, %d", $fd, $buf, $count, ($poshi << 32) + $poslo)
-%)
-}
-probe syscall.pread32.return = kernel.function("sys32_pread64").return ? {
- name = "pread"
- retstr = returnstr(1)
-}
# pselect6 _____________________________________________________
#
@@ -547,7 +527,7 @@ probe syscall.pwrite32.return = kernel.function("sys32_pwrite64").return ? {
# qid_t id,
# void __user *addr)
#
-probe syscall.quotactl = kernel.function("sys_quotactl") {
+probe syscall.quotactl = kernel.function("sys_quotactl") ? {
name = "quotactl"
cmd = $cmd
cmd_str = _quotactl_cmd_str($cmd)
@@ -556,7 +536,7 @@ probe syscall.quotactl = kernel.function("sys_quotactl") {
addr_uaddr = $addr
argstr = sprintf("%s, %s, %d, %p", cmd_str, special_str, $id, $addr)
}
-probe syscall.quotactl.return = kernel.function("sys_quotactl").return {
+probe syscall.quotactl.return = kernel.function("sys_quotactl").return ? {
name = "quotactl"
retstr = returnstr(1)
}
@@ -685,35 +665,25 @@ probe syscall.reboot.return = kernel.function("sys_reboot").return {
}
# recv _______________________________________________________
#
-# asmlinkage long
-# sys_recvfrom(int fd,
-# void __user * ubuf,
-# size_t size,
-# unsigned flags,
-# struct sockaddr __user *addr,
-# int __user *addr_len)
+# long sys_recv(int fd, void __user *ubuf, size_t size, unsigned flags)
#
-probe syscall.recv = kernel.function("sys_recvfrom") {
+probe syscall.recv = kernel.function("sys_recv") ? {
name = "recv"
s = $fd
buf_uaddr = $ubuf
len = $size
flags = $flags
flags_str = _recvflags_str($flags)
- addr_uaddr = $addr
- addrlen_uaddr = $addr_len
- argstr = sprintf("%d, %p, %p, %s, %p, %p",
- s, buf_uaddr, len, flags_str, addr_uaddr,
- addrlen_uaddr)
+ argstr = sprintf("%d, %p, %d, %s", $fd, $ubuf, $size, flags_str)
}
-probe syscall.recv.return = kernel.function("sys_recvfrom").return {
+probe syscall.recv.return = kernel.function("sys_recv").return ? {
name = "recv"
retstr = returnstr(1)
}
+
# recvfrom ___________________________________________________
#
-# asmlinkage long
-# sys_recvfrom(int fd,
+# long sys_recvfrom(int fd,
# void __user * ubuf,
# size_t size,
# unsigned flags,
@@ -729,33 +699,50 @@ probe syscall.recvfrom = kernel.function("sys_recvfrom") {
flags_str = _recvflags_str($flags)
addr_uaddr = $addr
addrlen_uaddr = $addr_len
- argstr = sprintf("%d, %p, %p, %s, %p, %p",
- s, buf_uaddr, len, flags_str,
- addr_uaddr, addrlen_uaddr)
+ argstr = sprintf("%d, %p, %d, %s, %p, %p",
+ $fd, $ubuf, $size, flags_str, $addr, $addr_len)
}
-probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return {
+probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return ? {
name = "recvfrom"
retstr = returnstr(1)
}
+
# recvmsg ____________________________________________________
#
-# asmlinkage long
-# sys_recvmsg(int fd,
+# long sys_recvmsg(int fd,
# struct msghdr __user *msg,
# unsigned int flags)
#
-probe syscall.recvmsg = kernel.function("sys_recvmsg") {
+probe syscall.recvmsg = kernel.function("sys_recvmsg") ? {
name = "recvmsg"
s = $fd
msg_uaddr = $msg
flags = $flags
flags_str = _recvflags_str($flags)
- argstr = sprintf("%d, %p, %s", s, msg_uaddr, flags_str)
+ argstr = sprintf("%d, %p, %s", $fd, $msg, _recvflags_str($flags))
}
-probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return {
+probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return ? {
name = "recvmsg"
retstr = returnstr(1)
}
+# compat_sys_recvmsg ________________________________________
+#
+# long compat_sys_recvmsg(int fd,
+# struct compat_msghdr __user *msg,
+# unsigned int flags)
+#
+probe syscall.compat_sys_recvmsg = kernel.function("compat_sys_recvmsg") ? {
+ name = "compat_sys_recvmsg"
+ s = $fd
+ msg_uaddr = $msg
+ flags = $flags
+ argstr = sprintf("%d, %p, %s", $fd, $msg, _recvflags_str($flags))
+}
+probe syscall.compat_sys_recvmsg.return = kernel.function("compat_sys_recvmsg").return ? {
+ name = "compat_sys_recvmsg"
+ retstr = returnstr(1)
+}
+
# remap_file_pages ___________________________________________
#
# asmlinkage long
@@ -1258,7 +1245,7 @@ probe syscall.compat_select.return = kernel.function("compat_sys_select").return
# int cmd,
# union semun arg)
#
-probe syscall.semctl = kernel.function("sys_semctl") {
+probe syscall.semctl = kernel.function("sys_semctl") ? {
name = "semctl"
semid = $semid
semnum = $semnum
@@ -1267,67 +1254,97 @@ probe syscall.semctl = kernel.function("sys_semctl") {
* unsupported type tag identifier '$arg'
* arg = $arg
*/
- argstr = sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd))
+ argstr = sprintf("%d, %d, %s", $semid, $semnum, _semctl_cmd($cmd))
}
-probe syscall.semctl.return = kernel.function("sys_semctl").return {
+probe syscall.semctl.return = kernel.function("sys_semctl").return ? {
name = "semctl"
retstr = returnstr(1)
}
+# compat_sys_semctl ________________________________________
+#
+# long compat_sys_semctl(int first, int second, int third, void __user *uptr)
+#
+probe syscall.compat_sys_semctl = kernel.function("compat_sys_semctl") ? {
+ name = "compat_sys_semctl"
+ argstr = sprintf("%d, %d, $d, %p", $first, $second, $third, $uptr)
+}
+probe syscall.compat_sys_semctl.return = kernel.function("compat_sys_semctl").return ? {
+ name = "compat_sys_semctl"
+ retstr = returnstr(1)
+}
# semget _____________________________________________________
# long sys_semget (key_t key, int nsems, int semflg)
#
-probe syscall.semget = kernel.function("sys_semget") {
+probe syscall.semget = kernel.function("sys_semget") ? {
name = "semget"
key = $key
nsems = $nsems
semflg = $semflg
- argstr = sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg))
+ argstr = sprintf("%d, %d, %s", $key, $nsems, __sem_flags($semflg))
}
-probe syscall.semget.return = kernel.function("sys_semget").return {
+probe syscall.semget.return = kernel.function("sys_semget").return ? {
name = "semget"
retstr = returnstr(1)
}
# semop ______________________________________________________
#
-# asmlinkage long
-# sys_semop (int semid,
+# long sys_semop (int semid,
# struct sembuf __user *tsops,
# unsigned nsops)
#
-probe syscall.semop = kernel.function("sys_semtimedop") {
+probe syscall.semop = kernel.function("sys_semtimedop") ? {
name = "semop"
semid = $semid
tsops_uaddr = $tsops
nsops = $nsops
- argstr = sprintf("%d, %p, %d", semid, tsops_uaddr, nsops)
+ argstr = sprintf("%d, %p, %d", $semid, $tsops, $nsops)
}
-probe syscall.semop.return = kernel.function("sys_semtimedop").return {
+probe syscall.semop.return = kernel.function("sys_semtimedop").return ? {
name = "semop"
retstr = returnstr(1)
}
+
# semtimedop _________________________________________________
#
-# asmlinkage long
-# sys_semtimedop(int semid,
+# long sys_semtimedop(int semid,
# struct sembuf __user *tsops,
# unsigned nsops,
# const struct timespec __user *timeout)
#
-probe syscall.semtimedop = kernel.function("sys_semtimedop") {
+probe syscall.semtimedop = kernel.function("sys_semtimedop") ? {
name = "semtimedop"
semid = $semid
sops_uaddr = $tsops
nsops = $nsops
timeout_uaddr = $timeout
- argstr = sprintf("%d, %p, %d, %s", semid, sops_uaddr, nsops,
- _struct_timespec_u(timeout_uaddr))
+ argstr = sprintf("%d, %p, %d, %s", $semid, $tsops, $nsops,
+ _struct_timespec_u($timeout))
}
-probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return {
+probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return ? {
name = "semtimedop"
retstr = returnstr(1)
}
+# compat_sys_semtimedop ________________________________________
+#
+# long compat_sys_semtimedop(int semid, struct sembuf __user *tsems,
+# unsigned nsops, const struct compat_timespec __user *timeout)
+#
+probe syscall.compat_sys_semtimedop = kernel.function("compat_sys_semtimedop") {
+ name = "compat_sys_semtimedop"
+ semid = $semid
+ sops_uaddr = tsems
+ nsops = $nsops
+ timeout_uaddr = $timeout
+ argstr = sprintf("%d, %p, %d, %s", $semid, $tsems, $nsops,
+ _struct_compat_timespec_u($timeout))
+}
+probe syscall.compat_sys_semtimedop.return = kernel.function("compat_sys_semtimedop").return {
+ name = "compat_sys_semtimedop"
+ retstr = returnstr(1)
+}
+
# send _______________________________________________________
#
# long sys_send(int fd,
@@ -1335,7 +1352,7 @@ probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return {
# size_t len,
# unsigned flags)
#
-probe syscall.send = kernel.function("sys_send") {
+probe syscall.send = kernel.function("sys_send") ? {
name = "send"
s = $fd
buf_uaddr = $buff
@@ -1344,10 +1361,11 @@ probe syscall.send = kernel.function("sys_send") {
flags_str = _send_flags_str($flags)
argstr = sprintf("%d, %p, %s", $fd, $buff, flags_str)
}
-probe syscall.send.return = kernel.function("sys_send").return {
+probe syscall.send.return = kernel.function("sys_send").return ? {
name = "send"
retstr = returnstr(1)
}
+
# sendfile ___________________________________________________
#
# ssize_t sys_sendfile[64](int out_fd,
@@ -1377,22 +1395,36 @@ probe syscall.sendfile.return =
# sendmsg ____________________________________________________
#
-# long sys_sendmsg(int fd,
-# struct msghdr __user *msg,
-# unsigned flags)
+# long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags)
#
-probe syscall.sendmsg = kernel.function("sys_sendmsg") {
+probe syscall.sendmsg = kernel.function("sys_sendmsg") ? {
name = "sendmsg"
s = $fd
msg_uaddr = $msg
flags = $flags
flags_str = _send_flags_str($flags)
- argstr = sprintf("%d, %p, %s", $fd, $msg, flags_str)
+ argstr = sprintf("%d, %p, %s", $fd, $msg, _send_flags_str($flags))
}
-probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return {
+probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return ? {
name = "sendmsg"
retstr = returnstr(1)
}
+# compat_sys_sendmsg ________________________________________
+#
+# long compat_sys_sendmsg(int fd, struct compat_msghdr __user *msg, unsigned flags)
+#
+probe syscall.compat_sys_sendmsg = kernel.function("compat_sys_sendmsg") ? {
+ name = "compat_sys_sendmsg"
+ s = $fd
+ msg_uaddr = $msg
+ flags = $flags
+ argstr = sprintf("%d, %p, %s", $fd, $msg, _send_flags_str($flags))
+}
+probe syscall.compat_sys_sendmsg.return = kernel.function("compat_sys_sendmsg").return ? {
+ name = "compat_sys_sendmsg"
+ retstr = returnstr(1)
+}
+
# sendto _____________________________________________________
#
# long sys_sendto(int fd,
@@ -1402,7 +1434,7 @@ probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return {
# struct sockaddr __user *addr,
# int addr_len)
#
-probe syscall.sendto = kernel.function("sys_sendto") {
+probe syscall.sendto = kernel.function("sys_sendto") ? {
name = "sendto"
s = $fd
buf_uaddr = $buff
@@ -1414,10 +1446,11 @@ probe syscall.sendto = kernel.function("sys_sendto") {
argstr = sprintf("%d, %p, %d, %s, %p, %d", $fd, $buff,
$len, flags_str, $addr, $addr_len)
}
-probe syscall.sendto.return = kernel.function("sys_sendto").return {
+probe syscall.sendto.return = kernel.function("sys_sendto").return ? {
name = "sendto"
retstr = returnstr(1)
}
+
# setdomainname ______________________________________________
#
# asmlinkage long
@@ -1763,8 +1796,7 @@ probe syscall.setrlimit.return = kernel.function("sys_setrlimit").return {
}
# setsid _____________________________________________________
#
-# asmlinkage long
-# sys_setsid(void)
+# long sys_setsid(void)
#
probe syscall.setsid = kernel.function("sys_setsid") {
name = "setsid"
@@ -1774,16 +1806,19 @@ probe syscall.setsid.return = kernel.function("sys_setsid").return {
name = "setsid"
retstr = returnstr(1)
}
+
# setsockopt _________________________________________________
#
-# asmlinkage long
-# sys_setsockopt(int fd,
+# long sys_setsockopt(int fd,
# int level,
# int optname,
# char __user *optval,
# int optlen)
#
-probe syscall.setsockopt = kernel.function("sys_setsockopt") {
+probe syscall.setsockopt =
+ kernel.function("sys_setsockopt") ?,
+ kernel.function("compat_sys_setsockopt") ?
+{
name = "setsockopt"
fd = $fd
level = $level
@@ -1793,12 +1828,16 @@ probe syscall.setsockopt = kernel.function("sys_setsockopt") {
optval_uaddr = $optval
optlen = $optlen
argstr = sprintf("%d, %s, %s, %p, %d", $fd, level_str,
- optname_str, optval_uaddr, $optlen)
+ optname_str, $optval, $optlen)
}
-probe syscall.setsockopt.return = kernel.function("sys_setsockopt").return {
+probe syscall.setsockopt.return =
+ kernel.function("sys_setsockopt").return ?,
+ kernel.function("compat_sys_setsockopt").return ?
+{
name = "setsockopt"
retstr = returnstr(1)
}
+
# set_tid_address ____________________________________________
#
# asmlinkage long
@@ -1908,71 +1947,117 @@ probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return ? {
name = "sgetmask"
retstr = returnstr(1)
}
+
+# shmat ______________________________________________________
+#
+# long sys_shmat(int shmid, char __user *shmaddr, int shmflg)
+#
+probe syscall.shmat = kernel.function("sys_shmat") ? {
+ name = "shmat"
+ shmid = $shmid
+ shmaddr_uaddr = $shmaddr
+ shmflg = $shmflg
+ argstr = sprintf("%d, %p, %s", $shmid, $shmaddr, _shmat_flags_str($shmflg))
+}
+probe syscall.shmat.return = kernel.function("sys_shmat").return ? {
+ name = "shmat"
+ retstr = returnstr(1)
+}
+# compat_sys_shmat ________________________________________
+#
+# long compat_sys_shmat(int first, int second, compat_uptr_t third,
+# int version, void __user *uptr)
+#
+probe syscall.compat_sys_shmat = kernel.function("compat_sys_shmat") ? {
+ name = "compat_sys_shmat"
+ first = $first
+ second = $second
+ third = $third
+ uptr_uaddr = $uptr
+ argstr = sprintf("%d, %d, %d, %d, %p", $first, $second, $third, $version, $uptr)
+}
+probe syscall.compat_sys_shmat.return = kernel.function("compat_sys_shmat").return ? {
+ name = "compat_sys_shmat"
+ retstr = returnstr(1)
+}
+
# shmctl _____________________________________________________
#
-# asmlinkage long
-# sys_shmctl (int shmid,
+# long sys_shmctl (int shmid,
# int cmd,
# struct shmid_ds __user *buf)
#
-probe syscall.shmctl = kernel.function("sys_shmctl") {
+probe syscall.shmctl = kernel.function("sys_shmctl") ? {
name = "shmctl"
shmid = $shmid
cmd = $cmd
buf_uaddr = $buf
- argstr = sprintf("%d, %s, %p", $shmid, _semctl_cmd($cmd),
- buf_uaddr)
+ argstr = sprintf("%d, %s, %p", $shmid, _semctl_cmd($cmd), $buf)
}
-probe syscall.shmctl.return = kernel.function("sys_shmctl").return {
+probe syscall.shmctl.return = kernel.function("sys_shmctl").return ? {
name = "shmctl"
retstr = returnstr(1)
}
+# compat_sys_shmctl ________________________________________
+#
+# long compat_sys_shmctl(int first, int second, void __user *uptr)
+#
+probe syscall.compat_sys_shmctl = kernel.function("compat_sys_shmctl") ? {
+ name = "compat_sys_shmctl"
+ first = $first
+ second = $second
+ uptr_uaddr = $uptr
+ argstr = sprintf("%d, %d, %p", $first, $second, $uptr)
+}
+probe syscall.compat_sys_shmctl.return = kernel.function("compat_sys_shmctl").return ? {
+ name = "compat_sys_shmctl"
+ retstr = returnstr(1)
+}
+
# shmdt ______________________________________________________
#
-# asmlinkage long
-# sys_shmdt(char __user *shmaddr)
+# long sys_shmdt(char __user *shmaddr)
#
-probe syscall.shmdt = kernel.function("sys_shmdt") {
+probe syscall.shmdt = kernel.function("sys_shmdt") ? {
name = "shmdt"
shmaddr_uaddr = $shmaddr
- argstr = sprintf("%p", shmaddr_uaddr)
+ argstr = sprintf("%p", $shmaddr)
}
-probe syscall.shmdt.return = kernel.function("sys_shmdt").return {
+probe syscall.shmdt.return = kernel.function("sys_shmdt").return ? {
name = "shmdt"
retstr = returnstr(1)
}
+
# shmget _____________________________________________________
#
-# asmlinkage long
-# sys_shmget (key_t key,
+# long sys_shmget (key_t key,
# size_t size,
# int shmflg)
#
-probe syscall.shmget = kernel.function("sys_shmget") {
+probe syscall.shmget = kernel.function("sys_shmget") ? {
name = "shmget"
key = $key
size = $size
shmflg = $shmflg
argstr = sprintf("%d, %d, %d", $key, $size, $shmflg)
}
-probe syscall.shmget.return = kernel.function("sys_shmget").return {
+probe syscall.shmget.return = kernel.function("sys_shmget").return ? {
name = "shmget"
retstr = returnstr(1)
}
+
# shutdown ___________________________________________________
#
-# asmlinkage long
-# sys_shutdown(int fd,
-# int how)
+# long sys_shutdown(int fd, int how)
#
-probe syscall.shutdown = kernel.function("sys_shutdown") {
+probe syscall.shutdown = kernel.function("sys_shutdown") ? {
name = "shutdown"
s = $fd
how = $how
how_str = _shutdown_how_str($how)
- argstr = sprintf("%d, %s", s, how_str)
+ argstr = sprintf("%d, %s", $fd, how_str)
}
-probe syscall.shutdown.return = kernel.function("sys_shutdown").return {
+probe syscall.shutdown.return = kernel.function("sys_shutdown").return ? {
name = "shutdown"
retstr = returnstr(1)
}
@@ -2084,7 +2169,7 @@ probe syscall.sigsuspend.return =
# socket _____________________________________________________
# long sys_socket(int family, int type, int protocol)
#
-probe syscall.socket = kernel.function("sys_socket") {
+probe syscall.socket = kernel.function("sys_socket") ? {
name = "socket"
family = $family
type = $type
@@ -2093,7 +2178,7 @@ probe syscall.socket = kernel.function("sys_socket") {
_sock_type_str($type),
$protocol)
}
-probe syscall.socket.return = kernel.function("sys_socket").return {
+probe syscall.socket.return = kernel.function("sys_socket").return ? {
name = "socket"
retstr = returnstr(1)
}
@@ -2101,9 +2186,7 @@ probe syscall.socket.return = kernel.function("sys_socket").return {
# commented out because this seems redundant
# socketcall _________________________________________________
#
-# asmlinkage long
-# sys_socketcall(int call,
-# unsigned long __user *args)
+# long sys_socketcall(int call, unsigned long __user *args)
#
#probe syscall.socketcall = kernel.function("sys_socketcall") {
# name = "socketcall"
@@ -2122,7 +2205,7 @@ probe syscall.socket.return = kernel.function("sys_socket").return {
# int protocol,
# int __user *usockvec)
#
-probe syscall.socketpair = kernel.function("sys_socketpair") {
+probe syscall.socketpair = kernel.function("sys_socketpair") ? {
name = "socketpair"
family = $family
type = $type
@@ -2133,10 +2216,11 @@ probe syscall.socketpair = kernel.function("sys_socketpair") {
_sock_type_str($type),
$protocol, sv_uaddr)
}
-probe syscall.socketpair.return = kernel.function("sys_socketpair").return {
+probe syscall.socketpair.return = kernel.function("sys_socketpair").return ? {
name = "socketpair"
retstr = returnstr(1)
}
+
# ssetmask ___________________________________________________
#
# asmlinkage long
@@ -2249,12 +2333,12 @@ probe syscall.stime.return = kernel.function("sys_stime").return ?{
# asmlinkage long
# sys_swapoff(const char __user * specialfile)
#
-probe syscall.swapoff = kernel.function("sys_swapoff") {
+probe syscall.swapoff = kernel.function("sys_swapoff")? {
name = "swapoff"
path = user_string($specialfile)
argstr = user_string_quoted($specialfile)
}
-probe syscall.swapoff.return = kernel.function("sys_swapoff").return {
+probe syscall.swapoff.return = kernel.function("sys_swapoff").return ? {
name = "swapoff"
retstr = returnstr(1)
}
@@ -2264,13 +2348,13 @@ probe syscall.swapoff.return = kernel.function("sys_swapoff").return {
# sys_swapon(const char __user * specialfile,
# int swap_flags)
#
-probe syscall.swapon = kernel.function("sys_swapon") {
+probe syscall.swapon = kernel.function("sys_swapon") ? {
name = "swapon"
path = user_string($specialfile)
swapflags = $swap_flags
argstr = sprintf("%s, %d", user_string_quoted($specialfile), swapflags)
}
-probe syscall.swapon.return = kernel.function("sys_swapon").return {
+probe syscall.swapon.return = kernel.function("sys_swapon").return ? {
name = "swapon"
retstr = returnstr(1)
}
@@ -2303,18 +2387,24 @@ probe syscall.sync.return = kernel.function("sys_sync").return {
}
# sysctl _____________________________________________________
#
-# asmlinkage long
-# sys_sysctl(struct __sysctl_args __user *args)
+# long sys_sysctl(struct __sysctl_args __user *args)
+# long sys32_sysctl(struct __sysctl_args32 __user *args)
#
-probe syscall.sysctl = kernel.function("sys_sysctl") {
+probe syscall.sysctl =
+ kernel.function("sys_sysctl"),
+ kernel.function("sys32_sysctl") ?
+{
name = "sysctl"
- args_uaddr = $args
- argstr = sprintf("%p", args_uaddr)
+ argstr = sprintf("%p", $args)
}
-probe syscall.sysctl.return = kernel.function("sys_sysctl").return {
+probe syscall.sysctl.return =
+ kernel.function("sys_sysctl").return,
+ kernel.function("sys32_sysctl").return ?
+{
name = "sysctl"
retstr = returnstr(1)
}
+
# sysfs ______________________________________________________
#
# asmlinkage long