]> sourceware.org Git - systemtap.git/commitdiff
PR20333/shmctl
authorMartin Cermak <mcermak@redhat.com>
Tue, 3 Jan 2017 08:12:12 +0000 (09:12 +0100)
committerMartin Cermak <mcermak@redhat.com>
Tue, 3 Jan 2017 08:12:12 +0000 (09:12 +0100)
tapset/linux/nd_syscalls2.stp
tapset/linux/sysc_shmctl.stp [new file with mode: 0644]
tapset/linux/syscalls2.stp

index e9b77d5dacf58b74d732104e54bd88869c676f00..473452d2d55d2a12d8398ef75337133917df961e 100644 (file)
@@ -1,32 +1,4 @@
 
-# shmctl _____________________________________________________
-#
-# long sys_shmctl (int shmid,
-#               int cmd,
-#               struct shmid_ds __user *buf)
-#
-probe nd_syscall.shmctl = kprobe.function("sys_shmctl") ?
-{
-#%( arch == "powerpc" || arch == "s390" %?
-       @__syscall_gate_compat_simple
-#%)
-       name = "shmctl"
-       asmlinkage()
-       shmid = int_arg(1)
-       cmd = int_arg(2)
-       cmd_str = _semctl_cmd(cmd)
-       buf_uaddr = pointer_arg(3)
-       argstr = sprintf("%d, %s, %p", shmid, _semctl_cmd(cmd), buf_uaddr)
-}
-probe nd_syscall.shmctl.return = kprobe.function("sys_shmctl").return ?
-{
-#%( arch == "powerpc" || arch == "s390" %?
-       @__syscall_gate_compat_simple
-#%)
-       name = "shmctl"
-       retstr = returnstr(1)
-}
-
 # compat_sys_shmctl ________________________________________
 #
 # long compat_sys_shmctl(int first, int second, void __user *uptr)
diff --git a/tapset/linux/sysc_shmctl.stp b/tapset/linux/sysc_shmctl.stp
new file mode 100644 (file)
index 0000000..cbe8890
--- /dev/null
@@ -0,0 +1,67 @@
+# shmctl _____________________________________________________
+#
+# long sys_shmctl (int shmid,
+#                  int cmd,
+#                  struct shmid_ds __user *buf)
+#
+
+@define _SYSCALL_SHMCTL_NAME
+%(
+       name = "shmctl"
+%)
+
+@define _SYSCALL_SHMCTL_ARGSTR
+%(
+       argstr = sprintf("%d, %s, %p", shmid, cmd_str, buf_uaddr)
+%)
+
+probe syscall.shmctl = dw_syscall.shmctl !, nd_syscall.shmctl {}
+probe syscall.shmctl.return = dw_syscall.shmctl.return !,
+                              nd_syscall.shmctl.return {}
+
+# dw_shmctl _____________________________________________________
+
+probe dw_syscall.shmctl = kernel.function("sys_shmctl").call ?
+{
+#%( arch == "powerpc" || arch == "s390" %?
+       @__syscall_gate_compat_simple
+#%)
+       @_SYSCALL_SHMCTL_NAME
+       shmid = __int32($shmid)
+       cmd = __int32($cmd)
+       cmd_str = _semctl_cmd(__int32($cmd))
+       buf_uaddr = $buf
+       @_SYSCALL_SHMCTL_ARGSTR
+}
+probe dw_syscall.shmctl.return = kernel.function("sys_shmctl").return ?
+{
+#%( arch == "powerpc" || arch == "s390" %?
+       @__syscall_gate_compat_simple
+#%)
+       @_SYSCALL_SHMCTL_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_shmctl _____________________________________________________
+
+probe nd_syscall.shmctl = kprobe.function("sys_shmctl") ?
+{
+#%( arch == "powerpc" || arch == "s390" %?
+       @__syscall_gate_compat_simple
+#%)
+       @_SYSCALL_SHMCTL_NAME
+       asmlinkage()
+       shmid = int_arg(1)
+       cmd = int_arg(2)
+       cmd_str = _semctl_cmd(cmd)
+       buf_uaddr = pointer_arg(3)
+       @_SYSCALL_SHMCTL_ARGSTR
+}
+probe nd_syscall.shmctl.return = kprobe.function("sys_shmctl").return ?
+{
+#%( arch == "powerpc" || arch == "s390" %?
+       @__syscall_gate_compat_simple
+#%)
+       @_SYSCALL_SHMCTL_NAME
+       retstr = returnstr(1)
+}
index 4e1ec2a2447485c07761c18da2822420822e6c44..217cb8967e295bae698bc6468e1ba3b716f02ebd 100644 (file)
@@ -1,32 +1,4 @@
 
-# shmctl _____________________________________________________
-#
-# long sys_shmctl (int shmid,
-#               int cmd,
-#               struct shmid_ds __user *buf)
-#
-probe syscall.shmctl = kernel.function("sys_shmctl").call ?
-{
-#%( arch == "powerpc" || arch == "s390" %?
-       @__syscall_gate_compat_simple
-#%)
-       name = "shmctl"
-       shmid = __int32($shmid)
-       cmd = __int32($cmd)
-       cmd_str = _semctl_cmd(__int32($cmd))
-       buf_uaddr = $buf
-       argstr = sprintf("%d, %s, %p", __int32($shmid),
-                        _semctl_cmd(__int32($cmd)), $buf)
-}
-probe syscall.shmctl.return = kernel.function("sys_shmctl").return ?
-{
-#%( arch == "powerpc" || arch == "s390" %?
-       @__syscall_gate_compat_simple
-#%)
-       name = "shmctl"
-       retstr = return_str(1, $return)
-}
-
 # compat_sys_shmctl ________________________________________
 #
 # long compat_sys_shmctl(int first, int second, void __user *uptr)
This page took 0.034662 seconds and 5 git commands to generate.