]> sourceware.org Git - systemtap.git/commitdiff
PR20333/chown16
authorMartin Cermak <mcermak@redhat.com>
Thu, 22 Dec 2016 13:31:23 +0000 (14:31 +0100)
committerMartin Cermak <mcermak@redhat.com>
Thu, 22 Dec 2016 13:31:23 +0000 (14:31 +0100)
tapset/linux/nd_syscalls.stp
tapset/linux/sysc_chown16.stp [new file with mode: 0644]
tapset/linux/syscalls.stp

index 26f0f53dcbf1eab34eaa6fbe4793cb1378171cde..782921cfb6ca77a93d8a2743409b9b18fd6c4312 100644 (file)
@@ -1,21 +1,3 @@
-# chown16 ___________________________________________________
-# long sys_chown16(const char __user * filename, old_uid_t user,
-#                      old_gid_t group)
-#
-probe nd_syscall.chown16 = kprobe.function("sys_chown16") ?
-{
-       name = "chown16"
-       asmlinkage()
-       path = user_string_quoted(pointer_arg(1))
-       owner = __short(uint_arg(2))
-       group = __short(uint_arg(3))
-       argstr = sprintf("%s, %d, %d", user_string_quoted(pointer_arg(1)), owner, group)
-}
-probe nd_syscall.chown16.return = kprobe.function("sys_chown16").return ?
-{
-       name = "chown16"
-       retstr = returnstr(1)
-}
 
 # chroot _____________________________________________________
 # long sys_chroot(const char __user * filename)
diff --git a/tapset/linux/sysc_chown16.stp b/tapset/linux/sysc_chown16.stp
new file mode 100644 (file)
index 0000000..6464c42
--- /dev/null
@@ -0,0 +1,50 @@
+# chown16 ___________________________________________________
+# long sys_chown16(const char __user * filename, old_uid_t user,
+#                      old_gid_t group)
+#
+
+@define _SYSCALL_CHOWN16_NAME
+%(
+       name = "chown16"
+%)
+
+@define _SYSCALL_CHOWN16_ARGSTR
+%(
+       argstr = sprintf("%s, %d, %d", path, owner, group)
+%)
+
+probe syscall.chown16 = dw_syscall.chown16 !, nd_syscall.chown16 {}
+probe syscall.chown16.return = dw_syscall.chown16.return !, nd_syscall.chown16.return {}
+
+# dw_chown16 _____________________________________________________
+
+probe dw_syscall.chown16 = kernel.function("sys_chown16").call ?
+{
+       @_SYSCALL_CHOWN16_NAME
+       path = user_string_quoted($filename)
+       owner = __short($user)
+       group = __short($group)
+       @_SYSCALL_CHOWN16_ARGSTR
+}
+probe dw_syscall.chown16.return = kernel.function("sys_chown16").return ?
+{
+       @_SYSCALL_CHOWN16_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_chown16 _____________________________________________________
+
+probe nd_syscall.chown16 = kprobe.function("sys_chown16") ?
+{
+       @_SYSCALL_CHOWN16_NAME
+       asmlinkage()
+       path = user_string_quoted(pointer_arg(1))
+       owner = __short(uint_arg(2))
+       group = __short(uint_arg(3))
+       @_SYSCALL_CHOWN16_ARGSTR
+}
+probe nd_syscall.chown16.return = kprobe.function("sys_chown16").return ?
+{
+       @_SYSCALL_CHOWN16_NAME
+       retstr = returnstr(1)
+}
index 7eaa8501ea424d63228ff530ccf723fb05762bcf..191fe02d2dc62ab3c2c131d4191dcf9080831e87 100644 (file)
@@ -1,20 +1,3 @@
-# chown16 ___________________________________________________
-# long sys_chown16(const char __user * filename, old_uid_t user,
-#                      old_gid_t group)
-#
-probe syscall.chown16 = kernel.function("sys_chown16").call ?
-{
-       name = "chown16"
-       path = user_string_quoted($filename)
-       owner = __short($user)
-       group = __short($group)
-       argstr = sprintf("%s, %d, %d", user_string_quoted($filename), owner, group)
-}
-probe syscall.chown16.return = kernel.function("sys_chown16").return ?
-{
-       name = "chown16"
-       retstr = return_str(1, $return)
-}
 
 # chroot _____________________________________________________
 # long sys_chroot(const char __user * filename)
This page took 0.037002 seconds and 5 git commands to generate.