]> sourceware.org Git - systemtap.git/commitdiff
PR20333/setdomainname
authorMartin Cermak <mcermak@redhat.com>
Tue, 3 Jan 2017 06:58:31 +0000 (07:58 +0100)
committerMartin Cermak <mcermak@redhat.com>
Tue, 3 Jan 2017 06:58:31 +0000 (07:58 +0100)
tapset/linux/nd_syscalls2.stp
tapset/linux/sysc_setdomainname.stp [new file with mode: 0644]
tapset/linux/syscalls2.stp

index 6ac1e796d38971ceb8254e51cf8733123a3bceb9..70feac5913f7cbcd87f194d9688fac02ed2ff9b9 100644 (file)
@@ -1,28 +1,4 @@
 
-# setdomainname ______________________________________________
-#
-# asmlinkage long
-# sys_setdomainname(char __user *name,
-#                       int len)
-#
-probe nd_syscall.setdomainname = kprobe.function("sys_setdomainname") ?
-{
-       name = "setdomainname"
-       asmlinkage()
-       domainname_uaddr = pointer_arg(1)
-%( systemtap_v <= "2.8" %?
-        hostname_uaddr = domainname_uaddr
-%)
-       domainname_str = user_string_quoted(domainname_uaddr)
-       len = int_arg(2)
-       argstr = sprintf("%s, %d", domainname_str, len)
-}
-probe nd_syscall.setdomainname.return = kprobe.function("sys_setdomainname").return ?
-{
-       name = "setdomainname"
-       retstr = returnstr(1)
-}
-
 # setfsgid ___________________________________________________
 # long sys_setfsgid(gid_t gid)
 # long sys_setfsgid16(old_gid_t gid)
diff --git a/tapset/linux/sysc_setdomainname.stp b/tapset/linux/sysc_setdomainname.stp
new file mode 100644 (file)
index 0000000..02700f0
--- /dev/null
@@ -0,0 +1,58 @@
+# setdomainname ______________________________________________
+#
+# asmlinkage long
+# sys_setdomainname(char __user *name,
+#                       int len)
+#
+
+@define _SYSCALL_SETDOMAINNAME_NAME
+%(
+       name = "setdomainname"
+%)
+
+@define _SYSCALL_SETDOMAINNAME_ARGSTR
+%(
+       argstr = sprintf("%s, %d", domainname_str, len)
+%)
+
+probe syscall.setdomainname = dw_syscall.setdomainname !, nd_syscall.setdomainname {}
+probe syscall.setdomainname.return = dw_syscall.setdomainname.return !, nd_syscall.setdomainname.return {}
+
+# dw_setdomainname _____________________________________________________
+
+probe dw_syscall.setdomainname = kernel.function("sys_setdomainname").call
+{
+       @_SYSCALL_SETDOMAINNAME_NAME
+       domainname_uaddr = $name
+%( systemtap_v <= "2.8" %?
+       hostname_uaddr = domainname_uaddr
+%)
+        domainname_str = user_string_quoted(domainname_uaddr)
+       len = __int32($len)
+       @_SYSCALL_SETDOMAINNAME_ARGSTR
+}
+probe dw_syscall.setdomainname.return = kernel.function("sys_setdomainname").return
+{
+       @_SYSCALL_SETDOMAINNAME_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_setdomainname _____________________________________________________
+
+probe nd_syscall.setdomainname = kprobe.function("sys_setdomainname") ?
+{
+       @_SYSCALL_SETDOMAINNAME_NAME
+       asmlinkage()
+       domainname_uaddr = pointer_arg(1)
+%( systemtap_v <= "2.8" %?
+        hostname_uaddr = domainname_uaddr
+%)
+       domainname_str = user_string_quoted(domainname_uaddr)
+       len = int_arg(2)
+       @_SYSCALL_SETDOMAINNAME_ARGSTR
+}
+probe nd_syscall.setdomainname.return = kprobe.function("sys_setdomainname").return ?
+{
+       @_SYSCALL_SETDOMAINNAME_NAME
+       retstr = returnstr(1)
+}
index a790a1b9924940c3bec01b0e3896f5a6901c771c..9ee75f092ac8522f480e5efffc03fe33b4d78640 100644 (file)
@@ -1,27 +1,4 @@
 
-# setdomainname ______________________________________________
-#
-# asmlinkage long
-# sys_setdomainname(char __user *name,
-#                       int len)
-#
-probe syscall.setdomainname = kernel.function("sys_setdomainname").call
-{
-       name = "setdomainname"
-       domainname_uaddr = $name
-%( systemtap_v <= "2.8" %?
-       hostname_uaddr = domainname_uaddr
-%)
-        domainname_str = user_string_quoted(domainname_uaddr)
-       len = __int32($len)
-       argstr = sprintf("%s, %d", domainname_str, len)
-}
-probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return
-{
-       name = "setdomainname"
-       retstr = return_str(1, $return)
-}
-
 # setfsgid ___________________________________________________
 # long sys_setfsgid(gid_t gid)
 # long sys_setfsgid16(old_gid_t gid)
This page took 0.036178 seconds and 5 git commands to generate.