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

index 579d869253d9152474e4bfcb1f8da2457d6ef289..9b940d92c9af98a17daebdba257606b425c43f83 100644 (file)
@@ -1,39 +1,4 @@
 
-# mq_getsetattr ______________________________________________
-# long sys_mq_getsetattr(mqd_t mqdes,
-#                  const struct mq_attr __user *u_mqstat,
-#                  struct mq_attr __user *u_omqstat)
-# long compat_sys_mq_getsetattr(mqd_t mqdes,
-#                      const struct compat_mq_attr __user *u_mqstat,
-#                      struct compat_mq_attr __user *u_omqstat)
-#
-probe nd_syscall.mq_getsetattr =
-        __nd_syscall.mq_getsetattr ?,
-        kprobe.function("compat_sys_mq_getsetattr") ?
-{
-       name = "mq_getsetattr"
-       asmlinkage()
-       mqdes = int_arg(1)
-       u_mqstat_uaddr = pointer_arg(2)
-       u_omqstat_uaddr = pointer_arg(3)
-       argstr = sprintf("%d, %p, %p", mqdes, u_mqstat_uaddr, u_omqstat_uaddr)
-}
-probe __nd_syscall.mq_getsetattr = kprobe.function("sys_mq_getsetattr")
-{
-        @__syscall_gate(@const("__NR_mq_getsetattr"))
-}
-probe nd_syscall.mq_getsetattr.return =
-        __nd_syscall.mq_getsetattr.return ?,
-        kprobe.function("compat_sys_mq_getsetattr").return ?
-{
-       name = "mq_getsetattr"
-       retstr = returnstr(1)
-}
-probe __nd_syscall.mq_getsetattr.return = kprobe.function("sys_mq_getsetattr").return
-{
-        @__syscall_gate(@const("__NR_mq_getsetattr"))
-}
-
 # 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)
diff --git a/tapset/linux/sysc_mq_getsetattr.stp b/tapset/linux/sysc_mq_getsetattr.stp
new file mode 100644 (file)
index 0000000..a07c93b
--- /dev/null
@@ -0,0 +1,78 @@
+# mq_getsetattr ______________________________________________
+# long sys_mq_getsetattr(mqd_t mqdes,
+#                  const struct mq_attr __user *u_mqstat,
+#                  struct mq_attr __user *u_omqstat)
+# long compat_sys_mq_getsetattr(mqd_t mqdes,
+#                      const struct compat_mq_attr __user *u_mqstat,
+#                      struct compat_mq_attr __user *u_omqstat)
+#
+
+@define _SYSCALL_MQ_GETSETATTR_NAME
+%(
+       name = "mq_getsetattr"
+%)
+
+@define _SYSCALL_MQ_GETSETATTR_ARGSTR
+%(
+       argstr = sprintf("%d, %p, %p", mqdes, u_mqstat_uaddr, u_omqstat_uaddr)
+%)
+
+probe syscall.mq_getsetattr = dw_syscall.mq_getsetattr !, nd_syscall.mq_getsetattr {}
+probe syscall.mq_getsetattr.return = dw_syscall.mq_getsetattr.return !, nd_syscall.mq_getsetattr.return {}
+
+# dw_mq_getsetattr _____________________________________________________
+
+probe dw_syscall.mq_getsetattr =
+        __syscall.mq_getsetattr,
+        kernel.function("compat_sys_mq_getsetattr").call ?
+{
+       @_SYSCALL_MQ_GETSETATTR_NAME
+       mqdes = __int32($mqdes)
+       u_mqstat_uaddr = $u_mqstat
+       u_omqstat_uaddr = $u_omqstat
+       @_SYSCALL_MQ_GETSETATTR_ARGSTR
+}
+probe __syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr").call
+{
+        @__syscall_gate(@const("__NR_mq_getsetattr"))
+}
+probe dw_syscall.mq_getsetattr.return =
+        __syscall.mq_getsetattr.return,
+        kernel.function("compat_sys_mq_getsetattr").return ?
+{
+       @_SYSCALL_MQ_GETSETATTR_NAME
+       retstr = return_str(1, $return)
+}
+probe __syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return
+{
+        @__syscall_gate(@const("__NR_mq_getsetattr"))
+}
+
+# nd_mq_getsetattr _____________________________________________________
+
+probe nd_syscall.mq_getsetattr =
+        __nd_syscall.mq_getsetattr ?,
+        kprobe.function("compat_sys_mq_getsetattr") ?
+{
+       @_SYSCALL_MQ_GETSETATTR_NAME
+       asmlinkage()
+       mqdes = int_arg(1)
+       u_mqstat_uaddr = pointer_arg(2)
+       u_omqstat_uaddr = pointer_arg(3)
+       @_SYSCALL_MQ_GETSETATTR_ARGSTR
+}
+probe __nd_syscall.mq_getsetattr = kprobe.function("sys_mq_getsetattr")
+{
+        @__syscall_gate(@const("__NR_mq_getsetattr"))
+}
+probe nd_syscall.mq_getsetattr.return =
+        __nd_syscall.mq_getsetattr.return ?,
+        kprobe.function("compat_sys_mq_getsetattr").return ?
+{
+       @_SYSCALL_MQ_GETSETATTR_NAME
+       retstr = returnstr(1)
+}
+probe __nd_syscall.mq_getsetattr.return = kprobe.function("sys_mq_getsetattr").return
+{
+        @__syscall_gate(@const("__NR_mq_getsetattr"))
+}
index b16d1b6d9a3a32b086e3590bbf4373ebdb3f5611..415f56f15b4954fbdc3c5564b0332b3e04cd49bb 100644 (file)
@@ -1,38 +1,4 @@
 
-# mq_getsetattr ______________________________________________
-# long sys_mq_getsetattr(mqd_t mqdes,
-#                  const struct mq_attr __user *u_mqstat,
-#                  struct mq_attr __user *u_omqstat)
-# long compat_sys_mq_getsetattr(mqd_t mqdes,
-#                      const struct compat_mq_attr __user *u_mqstat,
-#                      struct compat_mq_attr __user *u_omqstat)
-#
-probe syscall.mq_getsetattr =
-        __syscall.mq_getsetattr,
-        kernel.function("compat_sys_mq_getsetattr").call ?
-{
-       name = "mq_getsetattr"
-       mqdes = __int32($mqdes)
-       u_mqstat_uaddr = $u_mqstat
-       u_omqstat_uaddr = $u_omqstat
-       argstr = sprintf("%d, %p, %p", mqdes, u_mqstat_uaddr, u_omqstat_uaddr)
-}
-probe __syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr").call
-{
-        @__syscall_gate(@const("__NR_mq_getsetattr"))
-}
-probe syscall.mq_getsetattr.return =
-        __syscall.mq_getsetattr.return,
-        kernel.function("compat_sys_mq_getsetattr").return ?
-{
-       name = "mq_getsetattr"
-       retstr = return_str(1, $return)
-}
-probe __syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return
-{
-        @__syscall_gate(@const("__NR_mq_getsetattr"))
-}
-
 # 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)
This page took 0.035434 seconds and 5 git commands to generate.