]> sourceware.org Git - systemtap.git/commitdiff
PR20333/compat_clock_nanosleep
authorMartin Cermak <mcermak@redhat.com>
Thu, 22 Dec 2016 14:01:06 +0000 (15:01 +0100)
committerMartin Cermak <mcermak@redhat.com>
Thu, 22 Dec 2016 14:01:06 +0000 (15:01 +0100)
tapset/linux/nd_syscalls.stp
tapset/linux/sysc_compat_clock_nanosleep.stp [new file with mode: 0644]
tapset/linux/syscalls.stp

index 70c74062753aede44a58dea929ff3783884673d7..7aa11f7dcaa29dff6a97616f29e9ebf260a8eda3 100644 (file)
@@ -1,37 +1,4 @@
 
-# compat_clock_nanosleep ________________________________________
-#
-# long compat_clock_nanosleep(clockid_t which_clock, int flags,
-#                      struct compat_timespec __user *rqtp,
-#                      struct compat_timespec __user *rmtp)
-#
-probe nd_syscall.compat_clock_nanosleep =
-       kprobe.function("compat_clock_nanosleep").call ?,
-       kprobe.function("compat_sys_clock_nanosleep").call ?
-{
-       name = "clock_nanosleep"
-       asmlinkage()
-       clk_id = int_arg(1)
-       clk_id_str = _get_wc_str(clk_id)
-       flags = int_arg(2)
-%(systemtap_v <= "2.6" %?
-       flag_str = _stp_clock_nanosleep_flags_str(flags)
-%)
-       flags_str = _stp_clock_nanosleep_flags_str(flags)
-       req_uaddr = pointer_arg(3)
-       rem_uaddr = pointer_arg(4)
-       argstr = sprintf("%s, %s, %s, %p", _get_wc_str(int_arg(1)), flags_str,
-                        _struct_compat_timespec_u(req_uaddr, 1),
-                        pointer_arg(4))
-}
-probe nd_syscall.compat_clock_nanosleep.return =
-       kprobe.function("compat_clock_nanosleep").return ?,
-       kprobe.function("compat_sys_clock_nanosleep").return ?
-{
-       name = "clock_nanosleep"
-       retstr = returnstr(1)
-}
-
 # clock_settime ______________________________________________
 # long sys_clock_settime(clockid_t which_clock,
 #                   const struct timespec __user *tp)
diff --git a/tapset/linux/sysc_compat_clock_nanosleep.stp b/tapset/linux/sysc_compat_clock_nanosleep.stp
new file mode 100644 (file)
index 0000000..21ab44d
--- /dev/null
@@ -0,0 +1,73 @@
+# compat_clock_nanosleep ________________________________________
+#
+# long compat_clock_nanosleep(clockid_t which_clock, int flags,
+#                      struct compat_timespec __user *rqtp,
+#                      struct compat_timespec __user *rmtp)
+#
+
+@define _SYSCALL_COMPAT_CLOCK_NANOSLEEP_NAME
+%(
+       name = "clock_nanosleep"
+%)
+
+@define _SYSCALL_COMPAT_CLOCK_NANOSLEEP_ARGSTR
+%(
+       argstr = sprintf("%s, %s, %s, %p", clk_id_str, flags_str,
+                        _struct_compat_timespec_u(req_uaddr, 1), rem_uaddr)
+%)
+
+probe syscall.compat_clock_nanosleep = dw_syscall.compat_clock_nanosleep !, nd_syscall.compat_clock_nanosleep {}
+probe syscall.compat_clock_nanosleep.return = dw_syscall.compat_clock_nanosleep.return !, nd_syscall.compat_clock_nanosleep.return {}
+
+# dw_compat_clock_nanosleep _____________________________________________________
+
+probe dw_syscall.compat_clock_nanosleep =
+       kernel.function("compat_clock_nanosleep").call ?,
+       kernel.function("compat_sys_clock_nanosleep").call ?
+{
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_NAME
+       clk_id = __int32($which_clock)
+       clk_id_str = _get_wc_str(__int32($which_clock))
+       flags = __int32($flags)
+%(systemtap_v <= "2.6" %?
+       flag_str = _stp_clock_nanosleep_flags_str(__int32($flags))
+%)
+       flags_str = _stp_clock_nanosleep_flags_str(__int32($flags))
+       req_uaddr = $rqtp
+       rem_uaddr = $rmtp
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_ARGSTR
+}
+probe dw_syscall.compat_clock_nanosleep.return =
+       kernel.function("compat_clock_nanosleep").return ?,
+       kernel.function("compat_sys_clock_nanosleep").return ?
+{
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_compat_clock_nanosleep _____________________________________________________
+
+probe nd_syscall.compat_clock_nanosleep =
+       kprobe.function("compat_clock_nanosleep").call ?,
+       kprobe.function("compat_sys_clock_nanosleep").call ?
+{
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_NAME
+       asmlinkage()
+       clk_id = int_arg(1)
+       clk_id_str = _get_wc_str(clk_id)
+       flags = int_arg(2)
+%(systemtap_v <= "2.6" %?
+       flag_str = _stp_clock_nanosleep_flags_str(flags)
+%)
+       flags_str = _stp_clock_nanosleep_flags_str(flags)
+       req_uaddr = pointer_arg(3)
+       rem_uaddr = pointer_arg(4)
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_ARGSTR
+}
+probe nd_syscall.compat_clock_nanosleep.return =
+       kprobe.function("compat_clock_nanosleep").return ?,
+       kprobe.function("compat_sys_clock_nanosleep").return ?
+{
+       @_SYSCALL_COMPAT_CLOCK_NANOSLEEP_NAME
+       retstr = returnstr(1)
+}
index dda5af041415da6993edd7329f0ee8f962d64599..defa36032eef2dfec8fe580e75288d7206c0b210 100644 (file)
@@ -1,35 +1,4 @@
 
-# compat_clock_nanosleep ________________________________________
-#
-# long compat_clock_nanosleep(clockid_t which_clock, int flags,
-#                      struct compat_timespec __user *rqtp,
-#                      struct compat_timespec __user *rmtp)
-#
-probe syscall.compat_clock_nanosleep =
-       kernel.function("compat_clock_nanosleep").call ?,
-       kernel.function("compat_sys_clock_nanosleep").call ?
-{
-       name = "clock_nanosleep"
-       clk_id = __int32($which_clock)
-       clk_id_str = _get_wc_str(__int32($which_clock))
-       flags = __int32($flags)
-%(systemtap_v <= "2.6" %?
-       flag_str = _stp_clock_nanosleep_flags_str(__int32($flags))
-%)
-       flags_str = _stp_clock_nanosleep_flags_str(__int32($flags))
-       req_uaddr = $rqtp
-       rem_uaddr = $rmtp
-       argstr = sprintf("%s, %s, %s, %p", _get_wc_str($which_clock),
-                        flags_str, _struct_compat_timespec_u($rqtp, 1), $rmtp)
-}
-probe syscall.compat_clock_nanosleep.return =
-       kernel.function("compat_clock_nanosleep").return ?,
-       kernel.function("compat_sys_clock_nanosleep").return ?
-{
-       name = "clock_nanosleep"
-       retstr = return_str(1, $return)
-}
-
 # clock_settime ______________________________________________
 # long sys_clock_settime(clockid_t which_clock,
 #                   const struct timespec __user *tp)
This page took 0.035764 seconds and 5 git commands to generate.