]> sourceware.org Git - systemtap.git/commitdiff
PR20333/mq_notify
authorMartin Cermak <mcermak@redhat.com>
Mon, 2 Jan 2017 06:43:23 +0000 (07:43 +0100)
committerMartin Cermak <mcermak@redhat.com>
Mon, 2 Jan 2017 06:43:23 +0000 (07:43 +0100)
tapset/linux/nd_syscalls.stp
tapset/linux/sysc_mq_notify.stp [new file with mode: 0644]
tapset/linux/syscalls.stp

index 9b940d92c9af98a17daebdba257606b425c43f83..e11cbd83cd68399b3ee4fba8332895d55d138d55 100644 (file)
@@ -1,34 +1,4 @@
 
-# mq_notify __________________________________________________
-# long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification)
-# long compat_sys_mq_notify(mqd_t mqdes, const struct compat_sigevent __user *u_notification)
-#
-probe nd_syscall.mq_notify =
-        __nd_syscall.mq_notify ?,
-        kprobe.function("compat_sys_mq_notify") ?
-{
-       name = "mq_notify"
-       asmlinkage()
-       mqdes = int_arg(1)
-       notification_uaddr = pointer_arg(2)
-       argstr = sprintf("%d, %p", mqdes, notification_uaddr)
-}
-probe __nd_syscall.mq_notify = kprobe.function("sys_mq_notify")
-{
-        @__syscall_gate(@const("__NR_mq_notify"))
-}
-probe nd_syscall.mq_notify.return =
-        __nd_syscall.mq_notify.return ?,
-        kprobe.function("compat_sys_mq_notify").return ?
-{
-       name = "mq_notify"
-       retstr = returnstr(1)
-}
-probe __nd_syscall.mq_notify.return = kprobe.function("sys_mq_notify").return
-{
-        @__syscall_gate(@const("__NR_mq_notify"))
-}
-
 # mq_open ____________________________________________________
 # long  sys_mq_open(const char __user *u_name,
 #             int oflag,
diff --git a/tapset/linux/sysc_mq_notify.stp b/tapset/linux/sysc_mq_notify.stp
new file mode 100644 (file)
index 0000000..ce15487
--- /dev/null
@@ -0,0 +1,72 @@
+# mq_notify __________________________________________________
+# long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification)
+# long compat_sys_mq_notify(mqd_t mqdes, const struct compat_sigevent __user *u_notification)
+#
+
+@define _SYSCALL_MQ_NOTIFY_NAME
+%(
+       name = "mq_notify"
+%)
+
+@define _SYSCALL_MQ_NOTIFY_ARGSTR
+%(
+       argstr = sprintf("%d, %p", mqdes, notification_uaddr)
+%)
+
+probe syscall.mq_notify = dw_syscall.mq_notify !, nd_syscall.mq_notify {}
+probe syscall.mq_notify.return = dw_syscall.mq_notify.return !, nd_syscall.mq_notify.return {}
+
+# dw_mq_notify _____________________________________________________
+
+probe dw_syscall.mq_notify =
+        __syscall.mq_notify,
+        kernel.function("compat_sys_mq_notify").call ?
+{
+       @_SYSCALL_MQ_NOTIFY_NAME
+       mqdes = __int32($mqdes)
+       notification_uaddr = $u_notification
+       @_SYSCALL_MQ_NOTIFY_ARGSTR
+}
+probe __syscall.mq_notify = kernel.function("sys_mq_notify").call
+{
+        @__syscall_gate(@const("__NR_mq_notify"))
+}
+probe dw_syscall.mq_notify.return =
+        __syscall.mq_notify.return,
+        kernel.function("compat_sys_mq_notify").return ?
+{
+       @_SYSCALL_MQ_NOTIFY_NAME
+       retstr = return_str(1, $return)
+}
+probe __syscall.mq_notify.return = kernel.function("sys_mq_notify").return
+{
+        @__syscall_gate(@const("__NR_mq_notify"))
+}
+
+# nd_mq_notify _____________________________________________________
+
+probe nd_syscall.mq_notify =
+        __nd_syscall.mq_notify ?,
+        kprobe.function("compat_sys_mq_notify") ?
+{
+       @_SYSCALL_MQ_NOTIFY_NAME
+       asmlinkage()
+       mqdes = int_arg(1)
+       notification_uaddr = pointer_arg(2)
+       @_SYSCALL_MQ_NOTIFY_ARGSTR
+}
+probe __nd_syscall.mq_notify = kprobe.function("sys_mq_notify")
+{
+        @__syscall_gate(@const("__NR_mq_notify"))
+}
+probe nd_syscall.mq_notify.return =
+        __nd_syscall.mq_notify.return ?,
+        kprobe.function("compat_sys_mq_notify").return ?
+{
+       @_SYSCALL_MQ_NOTIFY_NAME
+       retstr = returnstr(1)
+}
+probe __nd_syscall.mq_notify.return = kprobe.function("sys_mq_notify").return
+{
+        @__syscall_gate(@const("__NR_mq_notify"))
+}
index 415f56f15b4954fbdc3c5564b0332b3e04cd49bb..ef662838c6f6683832615ce2e144df798c6af256 100644 (file)
@@ -1,33 +1,4 @@
 
-# mq_notify __________________________________________________
-# long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *u_notification)
-# long compat_sys_mq_notify(mqd_t mqdes, const struct compat_sigevent __user *u_notification)
-#
-probe syscall.mq_notify =
-        __syscall.mq_notify,
-        kernel.function("compat_sys_mq_notify").call ?
-{
-       name = "mq_notify"
-       mqdes = __int32($mqdes)
-       notification_uaddr = $u_notification
-       argstr = sprintf("%d, %p", mqdes, $u_notification)
-}
-probe __syscall.mq_notify = kernel.function("sys_mq_notify").call
-{
-        @__syscall_gate(@const("__NR_mq_notify"))
-}
-probe syscall.mq_notify.return =
-        __syscall.mq_notify.return,
-        kernel.function("compat_sys_mq_notify").return ?
-{
-       name = "mq_notify"
-       retstr = return_str(1, $return)
-}
-probe __syscall.mq_notify.return = kernel.function("sys_mq_notify").return
-{
-        @__syscall_gate(@const("__NR_mq_notify"))
-}
-
 # mq_open ____________________________________________________
 # long  sys_mq_open(const char __user *u_name,
 #             int oflag,
This page took 0.029142 seconds and 5 git commands to generate.