-# epoll_wait _________________________________________________
-#
-# long sys_epoll_wait(int epfd, struct epoll_event __user *events,
-# int maxevents, int timeout)
-# long compat_sys_epoll_wait(int epfd,
-# struct compat_epoll_event __user *events,
-# int maxevents, int timeout)
-#
-probe nd_syscall.epoll_wait = kprobe.function("compat_sys_epoll_wait") ?,
- kprobe.function("sys_epoll_wait") ?
-{
- @__syscall_compat_gate(@const("__NR_epoll_wait"),
- @const("__NR_compat_epoll_wait"))
- name = "epoll_wait"
- asmlinkage()
- epfd = int_arg(1)
- events_uaddr = pointer_arg(2)
- maxevents = int_arg(3)
- timeout = int_arg(4)
- argstr = sprintf("%d, %p, %d, %d", epfd, events_uaddr, maxevents, timeout)
-}
-probe nd_syscall.epoll_wait.return = kprobe.function("compat_sys_epoll_wait").return ?,
- kprobe.function("sys_epoll_wait").return ?
-{
- @__syscall_compat_gate(@const("__NR_epoll_wait"),
- @const("__NR_compat_epoll_wait"))
- name = "epoll_wait"
- retstr = returnstr(1)
-}
-
# eventfd _____________________________________________________
# long sys_eventfd(unsigned int count)
# SYSCALL_DEFINE2(eventfd2, unsigned int, count, int, flags)
--- /dev/null
+# epoll_wait _________________________________________________
+#
+# long sys_epoll_wait(int epfd, struct epoll_event __user *events,
+# int maxevents, int timeout)
+# long compat_sys_epoll_wait(int epfd,
+# struct compat_epoll_event __user *events,
+# int maxevents, int timeout)
+#
+
+@define _SYSCALL_EPOLL_WAIT_NAME
+%(
+ name = "epoll_wait"
+%)
+
+@define _SYSCALL_EPOLL_WAIT_ARGSTR
+%(
+ argstr = sprintf("%d, %p, %d, %d", epfd, events_uaddr, maxevents, timeout)
+%)
+
+probe syscall.epoll_wait = dw_syscall.epoll_wait !, nd_syscall.epoll_wait {}
+probe syscall.epoll_wait.return = dw_syscall.epoll_wait.return !, nd_syscall.epoll_wait.return {}
+
+# dw_epoll_wait _____________________________________________________
+
+probe dw_syscall.epoll_wait = kernel.function("compat_sys_epoll_wait").call ?,
+ kernel.function("sys_epoll_wait").call ?
+{
+ @__syscall_compat_gate(@const("__NR_epoll_wait"),
+ @const("__NR_compat_epoll_wait"))
+ @_SYSCALL_EPOLL_WAIT_NAME
+ epfd = __int32($epfd)
+ events_uaddr = $events
+ maxevents = __int32($maxevents)
+ timeout = __int32($timeout)
+ @_SYSCALL_EPOLL_WAIT_ARGSTR
+}
+probe dw_syscall.epoll_wait.return = kernel.function("compat_sys_epoll_wait").return ?,
+ kernel.function("sys_epoll_wait").return ?
+{
+ @__syscall_compat_gate(@const("__NR_epoll_wait"),
+ @const("__NR_compat_epoll_wait"))
+ @_SYSCALL_EPOLL_WAIT_NAME
+ retstr = return_str(1, $return)
+}
+
+# nd_epoll_wait _____________________________________________________
+
+probe nd_syscall.epoll_wait = kprobe.function("compat_sys_epoll_wait") ?,
+ kprobe.function("sys_epoll_wait") ?
+{
+ @__syscall_compat_gate(@const("__NR_epoll_wait"),
+ @const("__NR_compat_epoll_wait"))
+ @_SYSCALL_EPOLL_WAIT_NAME
+ asmlinkage()
+ epfd = int_arg(1)
+ events_uaddr = pointer_arg(2)
+ maxevents = int_arg(3)
+ timeout = int_arg(4)
+ @_SYSCALL_EPOLL_WAIT_ARGSTR
+}
+probe nd_syscall.epoll_wait.return = kprobe.function("compat_sys_epoll_wait").return ?,
+ kprobe.function("sys_epoll_wait").return ?
+{
+ @__syscall_compat_gate(@const("__NR_epoll_wait"),
+ @const("__NR_compat_epoll_wait"))
+ @_SYSCALL_EPOLL_WAIT_NAME
+ retstr = returnstr(1)
+}
-# epoll_wait _________________________________________________
-#
-# long sys_epoll_wait(int epfd, struct epoll_event __user *events,
-# int maxevents, int timeout)
-# long compat_sys_epoll_wait(int epfd,
-# struct compat_epoll_event __user *events,
-# int maxevents, int timeout)
-#
-probe syscall.epoll_wait = kernel.function("compat_sys_epoll_wait").call ?,
- kernel.function("sys_epoll_wait").call ?
-{
- @__syscall_compat_gate(@const("__NR_epoll_wait"),
- @const("__NR_compat_epoll_wait"))
- name = "epoll_wait"
- epfd = __int32($epfd)
- events_uaddr = $events
- maxevents = __int32($maxevents)
- timeout = __int32($timeout)
- argstr = sprintf("%d, %p, %d, %d", epfd, $events, maxevents, timeout)
-}
-probe syscall.epoll_wait.return = kernel.function("compat_sys_epoll_wait").return ?,
- kernel.function("sys_epoll_wait").return ?
-{
- @__syscall_compat_gate(@const("__NR_epoll_wait"),
- @const("__NR_compat_epoll_wait"))
- name = "epoll_wait"
- retstr = return_str(1, $return)
-}
-
# eventfd _____________________________________________________
# long sys_eventfd(unsigned int count)
# SYSCALL_DEFINE2(eventfd2, unsigned int, count, int, flags)