summaryrefslogtreecommitdiffstats
path: root/tapset/syscalls.stp
diff options
context:
space:
mode:
Diffstat (limited to 'tapset/syscalls.stp')
-rw-r--r--tapset/syscalls.stp22
1 files changed, 17 insertions, 5 deletions
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index 825842a6..dde0ca9f 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -27,17 +27,29 @@
# accept _____________________________________________________
# long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr,
-# int __user *upeer_addrlen)
-probe syscall.accept = kernel.function("SyS_accept").call !,
- kernel.function("sys_accept").call ?
+# int __user *upeer_addrlen, int flags)
+probe syscall.accept = _syscall.accept4 !, _syscall.accept
{
name = "accept"
sockfd = $fd
addr_uaddr = $upeer_sockaddr
addrlen_uaddr = $upeer_addrlen
- argstr = sprintf("%d, %p, %p", $fd, $upeer_sockaddr, $upeer_addrlen)
+ argstr = sprintf("%d, %p, %p, %s", $fd, $upeer_sockaddr,
+ $upeer_addrlen, flags_str)
}
-probe syscall.accept.return = kernel.function("SyS_accept").return !,
+probe _syscall.accept4 = kernel.function("sys_accept4").call
+{
+ flags = $flags
+ flags_str = _sock_flags_str($flags)
+}
+probe _syscall.accept = kernel.function("SyS_accept").call !,
+ kernel.function("sys_accept").call ?
+{
+ flags = 0
+ flags_str = "0"
+}
+probe syscall.accept.return = kernel.function("sys_accept4").return !,
+ kernel.function("SyS_accept").return !,
kernel.function("sys_accept").return ?
{
name = "accept"