# struct io_event __user *events,
# struct compat_timespec __user *timeout)
#
-probe syscall.io_getevents = kernel.function("compat_sys_io_getevents").call ?,
- kernel.function("sys_io_getevents").call ?
+probe syscall.io_getevents = kernel.function("sys_io_getevents").call ?
{
name = "io_getevents"
ctx_id = $ctx_id
argstr = sprintf("%d, %d, %d, %p, %p, %s", $ctx_id, $min_nr,
$nr, $events, $timeout, timestr)
}
-probe syscall.io_getevents.return = kernel.function("compat_sys_io_getevents").return ?,
- kernel.function("sys_io_getevents").return ?
+probe syscall.io_getevents.return = kernel.function("sys_io_getevents").return ?
+{
+ name = "io_getevents"
+ retstr = return_str(1, $return)
+}
+probe syscall.compat_io_getevents =
+ kernel.function("compat_sys_io_getevents").call ?
+{
+ name = "io_getevents"
+ ctx_id = $ctx_id
+ min_nr = $min_nr
+ nr = $nr
+ events_uaddr = $events
+ timeout_uaddr = $timeout
+ timestr = _struct_compat_timespec_u($timeout, 1)
+ argstr = sprintf("%d, %d, %d, %p, %p, %s", $ctx_id, $min_nr,
+ $nr, $events, $timeout, timestr)
+}
+probe syscall.compat_io_getevents.return =
+ kernel.function("compat_sys_io_getevents").return ?
{
name = "io_getevents"
retstr = return_str(1, $return)
printf("%s, %s\n", name, retstr)
}
-probe syscall.io_getevents
+probe syscall.io_getevents, syscall.compat_io_getevents
{
printf("%s, %s\n", name, argstr)
printf("%d, %d, %d, %p, %p, %s\n", ctx_id, min_nr, nr, events_uaddr,
timeout_uaddr, timestr)
}
-probe syscall.io_getevents.return
+probe syscall.io_getevents.return, syscall.compat_io_getevents.return
{
printf("%s, %s\n", name, retstr)
}