]> sourceware.org Git - systemtap.git/commitdiff
PR20333/rt_sigpending
authorMartin Cermak <mcermak@redhat.com>
Mon, 2 Jan 2017 15:40:43 +0000 (16:40 +0100)
committerMartin Cermak <mcermak@redhat.com>
Mon, 2 Jan 2017 15:40:43 +0000 (16:40 +0100)
tapset/linux/nd_syscalls2.stp
tapset/linux/sysc_rt_sigpending.stp [new file with mode: 0644]
tapset/linux/syscalls2.stp

index 0bea3a7b733b86ed8d9bd3862a31f689c795cf77..f18057e31937d0103b5cdf44c3b81bc28911e567 100644 (file)
@@ -1,48 +1,4 @@
 
-# rt_sigpending ______________________________________________
-#
-# long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize)
-# COMPAT_SYSCALL_DEFINE2(rt_sigpending, compat_sigset_t __user *, uset,
-#              compat_size_t, sigsetsize)
-# asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
-#                                  compat_size_t sigsetsize)
-#
-probe nd_syscall.rt_sigpending = __nd_syscall.rt_sigpending ?,
-                                __nd_syscall.compat_rt_sigpending ?
-{
-       name = "rt_sigpending"
-       asmlinkage()
-       set_uaddr = pointer_arg(1)
-       sigsetsize = ulong_arg(2)
-       argstr = sprintf("%p, %u", set_uaddr, sigsetsize)
-}
-probe __nd_syscall.rt_sigpending = kprobe.function("sys_rt_sigpending") ?
-{
-       @__syscall_gate(@const("__NR_rt_sigpending"))
-}
-probe __nd_syscall.compat_rt_sigpending =
-       kprobe.function("compat_sys_rt_sigpending") !,
-       kprobe.function("sys32_rt_sigpending") ?
-{
-}
-probe nd_syscall.rt_sigpending.return =
-       __nd_syscall.rt_sigpending.return ?,
-       __nd_syscall.compat_rt_sigpending.return ?
-{
-       name = "rt_sigpending"
-       retstr = returnstr(1)
-}
-probe __nd_syscall.rt_sigpending.return =
-       kprobe.function("sys_rt_sigpending").return ?
-{
-       @__syscall_gate(@const("__NR_rt_sigpending"))
-}
-probe __nd_syscall.compat_rt_sigpending.return =
-       kprobe.function("compat_sys_rt_sigpending").return !,
-       kprobe.function("sys32_rt_sigpending").return ?
-{
-}
-
 # rt_sigprocmask _____________________________________________
 # long sys_rt_sigprocmask(int how, sigset_t __user *set, sigset_t __user *oset,
 #                        size_t sigsetsize)
diff --git a/tapset/linux/sysc_rt_sigpending.stp b/tapset/linux/sysc_rt_sigpending.stp
new file mode 100644 (file)
index 0000000..696ffbc
--- /dev/null
@@ -0,0 +1,87 @@
+# rt_sigpending ______________________________________________
+#
+# long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize)
+# COMPAT_SYSCALL_DEFINE2(rt_sigpending, compat_sigset_t __user *, uset,
+#              compat_size_t, sigsetsize)
+# asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
+#                                  compat_size_t sigsetsize)
+#
+
+@define _SYSCALL_RT_SIGPENDING_NAME
+%(
+       name = "rt_sigpending"
+%)
+
+@define _SYSCALL_RT_SIGPENDING_ARGSTR
+%(
+       argstr = sprintf("%p, %u", set_uaddr, sigsetsize)
+%)
+
+probe syscall.rt_sigpending = dw_syscall.rt_sigpending !, nd_syscall.rt_sigpending {}
+probe syscall.rt_sigpending.return = dw_syscall.rt_sigpending.return !, nd_syscall.rt_sigpending.return {}
+
+# dw_rt_sigpending _____________________________________________________
+
+probe dw_syscall.rt_sigpending = __syscall.rt_sigpending ?,
+                              kernel.function("compat_sys_rt_sigpending").call !,
+                              kernel.function("sys32_rt_sigpending").call ?
+{
+       @_SYSCALL_RT_SIGPENDING_NAME
+       set_uaddr = @choose_defined($uset, $set)
+       sigsetsize = @__compat_ulong($sigsetsize)
+       @_SYSCALL_RT_SIGPENDING_ARGSTR
+}
+probe __syscall.rt_sigpending = kernel.function("sys_rt_sigpending").call ?
+{
+       @__syscall_gate(@const("__NR_rt_sigpending"))
+}
+probe dw_syscall.rt_sigpending.return = __syscall.rt_sigpending.return ?,
+                                     kernel.function("compat_sys_rt_sigpending").return !,
+                                     kernel.function("sys32_rt_sigpending").return ?
+{
+       @_SYSCALL_RT_SIGPENDING_NAME
+       retstr = return_str(1, $return)
+}
+probe __syscall.rt_sigpending.return =
+       kernel.function("sys_rt_sigpending").return ?
+{
+       @__syscall_gate(@const("__NR_rt_sigpending"))
+}
+
+# nd_rt_sigpending _____________________________________________________
+
+probe nd_syscall.rt_sigpending = __nd_syscall.rt_sigpending ?,
+                                __nd_syscall.compat_rt_sigpending ?
+{
+       @_SYSCALL_RT_SIGPENDING_NAME
+       asmlinkage()
+       set_uaddr = pointer_arg(1)
+       sigsetsize = ulong_arg(2)
+       @_SYSCALL_RT_SIGPENDING_ARGSTR
+}
+probe __nd_syscall.rt_sigpending = kprobe.function("sys_rt_sigpending") ?
+{
+       @__syscall_gate(@const("__NR_rt_sigpending"))
+}
+probe __nd_syscall.compat_rt_sigpending =
+       kprobe.function("compat_sys_rt_sigpending") !,
+       kprobe.function("sys32_rt_sigpending") ?
+{
+}
+probe nd_syscall.rt_sigpending.return =
+       __nd_syscall.rt_sigpending.return ?,
+       __nd_syscall.compat_rt_sigpending.return ?
+{
+       @_SYSCALL_RT_SIGPENDING_NAME
+       retstr = returnstr(1)
+}
+probe __nd_syscall.rt_sigpending.return =
+       kprobe.function("sys_rt_sigpending").return ?
+{
+       @__syscall_gate(@const("__NR_rt_sigpending"))
+}
+probe __nd_syscall.compat_rt_sigpending.return =
+       kprobe.function("compat_sys_rt_sigpending").return !,
+       kprobe.function("sys32_rt_sigpending").return ?
+{
+}
index 5c212bba3838610739740e3f1e8948a179333241..680e119653be23d07c4d2364d354732ee33d4024 100644 (file)
@@ -1,38 +1,4 @@
 
-# rt_sigpending ______________________________________________
-#
-# long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize)
-# COMPAT_SYSCALL_DEFINE2(rt_sigpending, compat_sigset_t __user *, uset,
-#              compat_size_t, sigsetsize)
-# asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
-#                                  compat_size_t sigsetsize)
-#
-probe syscall.rt_sigpending = __syscall.rt_sigpending ?,
-                              kernel.function("compat_sys_rt_sigpending").call !,
-                              kernel.function("sys32_rt_sigpending").call ?
-{
-       name = "rt_sigpending"
-       set_uaddr = @choose_defined($uset, $set)
-       sigsetsize = @__compat_ulong($sigsetsize)
-       argstr = sprintf("%p, %u", set_uaddr, sigsetsize)
-}
-probe __syscall.rt_sigpending = kernel.function("sys_rt_sigpending").call ?
-{
-       @__syscall_gate(@const("__NR_rt_sigpending"))
-}
-probe syscall.rt_sigpending.return = __syscall.rt_sigpending.return ?,
-                                     kernel.function("compat_sys_rt_sigpending").return !,
-                                     kernel.function("sys32_rt_sigpending").return ?
-{
-       name = "rt_sigpending"
-       retstr = return_str(1, $return)
-}
-probe __syscall.rt_sigpending.return =
-       kernel.function("sys_rt_sigpending").return ?
-{
-       @__syscall_gate(@const("__NR_rt_sigpending"))
-}
-
 # rt_sigprocmask _____________________________________________
 # long sys_rt_sigprocmask(int how, sigset_t __user *set, sigset_t __user *oset,
 #                        size_t sigsetsize)
This page took 0.043372 seconds and 5 git commands to generate.