]> sourceware.org Git - systemtap.git/commitdiff
PR20333/getrusage
authorMartin Cermak <mcermak@redhat.com>
Fri, 23 Dec 2016 15:28:50 +0000 (16:28 +0100)
committerMartin Cermak <mcermak@redhat.com>
Fri, 23 Dec 2016 15:28:50 +0000 (16:28 +0100)
tapset/linux/nd_syscalls.stp
tapset/linux/sysc_getrusage.stp [new file with mode: 0644]
tapset/linux/syscalls.stp

index 643122463d2b4ba88b0cc2c8e65413b603490ba1..8db4c0e831cfcc4e5d5d732085fe5410dc06926c 100644 (file)
@@ -1,34 +1,4 @@
 
-# getrusage __________________________________________________
-# long sys_getrusage(int who, struct rusage __user *ru)
-# COMPAT_SYSCALL_DEFINE2(getrusage, int, who, struct compat_rusage __user *,
-#                       ru)
-#
-probe nd_syscall.getrusage = __nd_syscall.getrusage,
-       kprobe.function("compat_sys_getrusage").call ?
-{
-       name = "getrusage"
-       asmlinkage()
-       who = int_arg(1)
-       who_str = _rusage_who_str(who)
-       usage_uaddr = pointer_arg(2)
-       argstr = sprintf("%s, %p", who_str, usage_uaddr)
-}
-probe __nd_syscall.getrusage = kprobe.function("sys_getrusage").call
-{
-       @__syscall_gate(@const("__NR_getrusage"))
-}
-probe nd_syscall.getrusage.return = __nd_syscall.getrusage.return,
-       kprobe.function("compat_sys_getrusage").return ?
-{
-       name = "getrusage"
-       retstr = returnstr(1)
-}
-probe __nd_syscall.getrusage.return = kprobe.function("sys_getrusage").return
-{
-       @__syscall_gate(@const("__NR_getrusage"))
-}
-
 # getsid _____________________________________________________
 # long sys_getsid(pid_t pid)
 probe nd_syscall.getsid = kprobe.function("sys_getsid") ?
diff --git a/tapset/linux/sysc_getrusage.stp b/tapset/linux/sysc_getrusage.stp
new file mode 100644 (file)
index 0000000..797adb1
--- /dev/null
@@ -0,0 +1,71 @@
+# getrusage __________________________________________________
+# long sys_getrusage(int who, struct rusage __user *ru)
+# COMPAT_SYSCALL_DEFINE2(getrusage, int, who, struct compat_rusage __user *,
+#                       ru)
+#
+
+@define _SYSCALL_GETRUSAGE_NAME
+%(
+       name = "getrusage"
+%)
+
+@define _SYSCALL_GETRUSAGE_ARGSTR
+%(
+       argstr = sprintf("%s, %p", who_str, usage_uaddr)
+%)
+
+probe syscall.getrusage = dw_syscall.getrusage !, nd_syscall.getrusage {}
+probe syscall.getrusage.return = dw_syscall.getrusage.return !, nd_syscall.getrusage.return {}
+
+# dw_getrusage _____________________________________________________
+
+probe dw_syscall.getrusage = __syscall.getrusage,
+       kernel.function("compat_sys_getrusage").call ?
+{
+       @_SYSCALL_GETRUSAGE_NAME
+       who = __int32($who)
+       who_str = _rusage_who_str(who)
+       usage_uaddr = @__pointer($ru)
+       @_SYSCALL_GETRUSAGE_ARGSTR
+}
+probe __syscall.getrusage = kernel.function("sys_getrusage").call
+{
+       @__syscall_gate(@const("__NR_getrusage"))
+}
+probe dw_syscall.getrusage.return = __syscall.getrusage.return,
+       kernel.function("compat_sys_getrusage").return ?
+{
+       @_SYSCALL_GETRUSAGE_NAME
+       retstr = return_str(1, $return)
+}
+probe __syscall.getrusage.return = kernel.function("sys_getrusage").return
+{
+       @__syscall_gate(@const("__NR_getrusage"))
+}
+
+# nd_getrusage _____________________________________________________
+
+probe nd_syscall.getrusage = __nd_syscall.getrusage,
+       kprobe.function("compat_sys_getrusage").call ?
+{
+       @_SYSCALL_GETRUSAGE_NAME
+       asmlinkage()
+       who = int_arg(1)
+       who_str = _rusage_who_str(who)
+       usage_uaddr = pointer_arg(2)
+       @_SYSCALL_GETRUSAGE_ARGSTR
+}
+probe __nd_syscall.getrusage = kprobe.function("sys_getrusage").call
+{
+       @__syscall_gate(@const("__NR_getrusage"))
+}
+probe nd_syscall.getrusage.return = __nd_syscall.getrusage.return,
+       kprobe.function("compat_sys_getrusage").return ?
+{
+       @_SYSCALL_GETRUSAGE_NAME
+       retstr = returnstr(1)
+}
+probe __nd_syscall.getrusage.return = kprobe.function("sys_getrusage").return
+{
+       @__syscall_gate(@const("__NR_getrusage"))
+}
index 9836cb6e9ac48c90cd741b64861c35ec8fb22414..4713d7536eeb33542bec676b1206cb90f2036e0f 100644 (file)
@@ -1,33 +1,4 @@
 
-# getrusage __________________________________________________
-# long sys_getrusage(int who, struct rusage __user *ru)
-# COMPAT_SYSCALL_DEFINE2(getrusage, int, who, struct compat_rusage __user *,
-#                       ru)
-#
-probe syscall.getrusage = __syscall.getrusage,
-       kernel.function("compat_sys_getrusage").call ?
-{
-       name = "getrusage"
-       who = __int32($who)
-       who_str = _rusage_who_str(who)
-       usage_uaddr = @__pointer($ru)
-       argstr = sprintf("%s, %p", who_str, usage_uaddr)
-}
-probe __syscall.getrusage = kernel.function("sys_getrusage").call
-{
-       @__syscall_gate(@const("__NR_getrusage"))
-}
-probe syscall.getrusage.return = __syscall.getrusage.return,
-       kernel.function("compat_sys_getrusage").return ?
-{
-       name = "getrusage"
-       retstr = return_str(1, $return)
-}
-probe __syscall.getrusage.return = kernel.function("sys_getrusage").return
-{
-       @__syscall_gate(@const("__NR_getrusage"))
-}
-
 # getsid _____________________________________________________
 # long sys_getsid(pid_t pid)
 probe syscall.getsid = kernel.function("sys_getsid").call
This page took 0.035804 seconds and 5 git commands to generate.