name = "nanosleep"
req_uaddr = $rqtp
rem_uaddr = $rmtp
- /*
- * XXX NOT SAFE -- might sleep
- * req_tv_sec = __uget_ts_m($rqtp,0)
- * req_tv_nsec = __uget_ts_m($rqtp,1)
- * rem_tv_sec = __uget_ts_m($rmtp,0)
- * rem_tv_nsec = __uget_ts_m($rmtp,1)
- */
- argstr = sprintf("[0x%x], [0x%x]", req_uaddr, rem_uaddr)
+ argstr = _struct_timespec_u(req_uaddr)
}
probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return {
name = "nanosleep"
kernel.function("sys_nice") {
name = "nice"
inc = $increment
- argstr = sprintf("0x%x", inc)
+ argstr = sprintf("%d", inc)
}
probe syscall.nice.return = kernel.function("sys_nice").return {
name = "nice"
probe syscall.oldumount = kernel.function("sys_umount") {
name = "oldumount"
name_str = user_string($name)
- argstr = sprintf("%s", name_str)
+ /* man page 2 umount shows the argument name as "target" */
+ target = name_str
+ argstr = name_str
}
probe syscall.oldumount.return = kernel.function("sys_umount").return {
name = "oldumount"
probe syscall.pipe = kernel.function("sys_pipe") {
name = "pipe"
fildes_uaddr = $fildes
- argstr = sprintf("[0x%x]", fildes_uaddr)
+ argstr = _fildes_u(fildes_uaddr)
}
probe syscall.pipe.return = kernel.function("sys_pipe").return {
name = "pipe"
#
probe syscall.removexattr = kernel.function("sys_removexattr") {
name = "removexattr"
- path_str = user_string($path)
+ path = user_string($path)
name_str = user_string($name)
- argstr = sprintf("%s, %s", path_str, name_str)
+ argstr = sprintf("%s, %s", path, name_str)
}
probe syscall.removexattr.return = kernel.function("sys_removexattr").return {
name = "removexattr"
#
probe syscall.rename = kernel.function("sys_rename") {
name = "rename"
- oldpath_str = user_string($oldname)
- newpath_str = user_string($newname)
- argstr = sprintf("%s, %s", oldpath_str, newpath_str)
+ oldpath = user_string($oldname)
+ newpath = user_string($newname)
+ argstr = sprintf("%s, %s", oldpath, newpath)
}
probe syscall.rename.return = kernel.function("sys_rename").return {
name = "rename"
#
probe syscall.rmdir = kernel.function("sys_rmdir") {
name = "rmdir"
- pathname_str = user_string($pathname)
- argstr = pathname_str
+ pathname = user_string($pathname)
+ argstr = pathname
}
probe syscall.rmdir.return = kernel.function("sys_rmdir").return {
name = "rmdir"
# sys_rt_sigaction(int sig,
# const struct sigaction __user *act,
# struct sigaction __user *oact,
-# size_t sigsetsize,
-# void __user *restorer)
+# size_t sigsetsize)
#
probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction") {
name = "rt_sigaction"
act_uaddr = $act
oact_uaddr = $oact
sigsetsize = $sigsetsize
- /*
- * unable to find local 'restorer' (maybe i386 specific)
- * restorer_uaddr = $restorer
- */
- argstr = sprintf("%d, [0x%x], [0x%x], 0x%x", sig,
+
+ argstr = sprintf("%s, [0x%x], [0x%x], 0x%x", _signal_name($sig),
act_uaddr, oact_uaddr, sigsetsize)
}
probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return {
pid = $pid
sig = $sig
uinfo_uaddr = $uinfo
- argstr = sprintf("0x%x, 0x%x, [0x%x]", pid, sig, uinfo_uaddr)
+ argstr = sprintf("0x%x, %s, [0x%x]", pid, _signal_name($sig), uinfo_uaddr)
}
probe syscall.rt_sigqueueinfo.return =
kernel.function("sys_rt_sigqueueinfo").return {
#
probe syscall.rt_sigsuspend = kernel.function("sys_rt_sigsuspend") {
name = "rt_sigsuspend"
- /*
- * unsupported type identifier '$regs'
- * regs = $regs
- */
+ regs = $regs
argstr = ""
}
probe syscall.rt_sigsuspend.return = kernel.function("sys_rt_sigsuspend").return {
pid = $pid
len = $len
mask_uaddr = $user_mask_ptr
- argstr = sprintf("0x%x, 0x%x, [0x%x]", pid, len, mask_uaddr)
+ argstr = sprintf("%d, 0x%x, [0x%x]", pid, len, mask_uaddr)
}
probe syscall.sched_getaffinity.return =
kernel.function("sys_sched_getaffinity").return {
name = "sched_getparam"
pid = $pid
p_uaddr = $param
- argstr = ""
+ argstr = sprintf("%d, [0x%x]", pid, p_uaddr)
}
probe syscall.sched_getparam.return =
kernel.function("sys_sched_getparam").return {
kernel.function("sys_sched_get_priority_max") {
name = "sched_get_priority_max"
policy = $policy
- argstr = ""
+ argstr = string(policy)
}
probe syscall.sched_get_priority_max.return =
kernel.function("sys_sched_get_priority_max").return {
kernel.function("sys_sched_get_priority_min") {
name = "sched_get_priority_min"
policy = $policy
- argstr = ""
+ argstr = string(policy)
}
probe syscall.sched_get_priority_min.return =
kernel.function("sys_sched_get_priority_min").return {
probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler") {
name = "sched_getscheduler"
pid = $pid
- argstr = ""
+ argstr = string(pid)
}
probe syscall.sched_getscheduler.return =
kernel.function("sys_sched_getscheduler").return {
name = "sched_rr_get_interval"
pid = $pid
tp_uaddr = $interval
- argstr = ""
+ argstr = sprintf("%d, %s", pid, _struct_timespec_u(tp_uaddr))
}
probe syscall.sched_rr_get_interval.return =
kernel.function("sys_sched_rr_get_interval").return {
writefds_uaddr = $outp
exceptfds_uaddr = $exp
timeout_uaddr = $tvp
- argstr = ""
+ argstr = sprintf("%d, %s, %s, %s, %s", n, _fd_set_u(readfds_uaddr),
+ _fd_set_u(writefds_uaddr),
+ _fd_set_u(exceptfds_uaddr),
+ _struct_timeval_u(timeout_uaddr))
}
probe syscall.select.return = kernel.function("sys_select").return {
name = "select"
* unsupported type tag identifier '$arg'
* arg = $arg
*/
- argstr = ""
+ argstr = sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd))
}
probe syscall.semctl.return = kernel.function("sys_semctl").return {
name = "semctl"
key = $key
nsems = $nsems
semflg = $semflg
- argstr = ""
+ argstr = sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg))
}
probe syscall.semget.return = kernel.function("sys_semget").return {
name = "semget"
semid = $semid
tsops_uaddr = $tsops
nsops = $nsops
- argstr = ""
+ argstr = sprintf("%d, [0x%x], %d", semid, tsops_uaddr, nsops)
}
probe syscall.semop.return = kernel.function("sys_semtimedop").return {
name = "semop"
sops_uaddr = $tsops
nsops = $nsops
timeout_uaddr = $timeout
- argstr = ""
+ argstr = sprintf("%d, [0x%x], %d, %s", semid, sops_uaddr, nsops,
+ _struct_timespec_u(timeout_uaddr))
}
probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return {
name = "semtimedop"