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

index 782921cfb6ca77a93d8a2743409b9b18fd6c4312..b285ea4d47d8117b7fe34dbcceca9794141715f4 100644 (file)
@@ -1,19 +1,4 @@
 
-# chroot _____________________________________________________
-# long sys_chroot(const char __user * filename)
-probe nd_syscall.chroot = kprobe.function("sys_chroot") ?
-{
-       name = "chroot"
-       asmlinkage()
-       path = user_string_quoted(pointer_arg(1))
-       argstr = user_string_quoted(pointer_arg(1))
-}
-probe nd_syscall.chroot.return = kprobe.function("sys_chroot").return ?
-{
-       name = "chroot"
-       retstr = returnstr(1)
-}
-
 # clock_adjtime ______________________________________________
 # SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock,
 #                 struct timex __user *, utx)
diff --git a/tapset/linux/sysc_chroot.stp b/tapset/linux/sysc_chroot.stp
new file mode 100644 (file)
index 0000000..d90e751
--- /dev/null
@@ -0,0 +1,44 @@
+# chroot _____________________________________________________
+# long sys_chroot(const char __user * filename)
+
+@define _SYSCALL_CHROOT_NAME
+%(
+       name = "chroot"
+%)
+
+@define _SYSCALL_CHROOT_ARGSTR
+%(
+       argstr = path
+%)
+
+probe syscall.chroot = dw_syscall.chroot !, nd_syscall.chroot {}
+probe syscall.chroot.return = dw_syscall.chroot.return !, nd_syscall.chroot.return {}
+
+# dw_chroot _____________________________________________________
+
+probe dw_syscall.chroot = kernel.function("sys_chroot").call
+{
+       @_SYSCALL_CHROOT_NAME
+       path = user_string_quoted($filename)
+       @_SYSCALL_CHROOT_ARGSTR
+}
+probe dw_syscall.chroot.return = kernel.function("sys_chroot").return
+{
+       @_SYSCALL_CHROOT_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_chroot _____________________________________________________
+
+probe nd_syscall.chroot = kprobe.function("sys_chroot") ?
+{
+       @_SYSCALL_CHROOT_NAME
+       asmlinkage()
+       path = user_string_quoted(pointer_arg(1))
+       @_SYSCALL_CHROOT_ARGSTR
+}
+probe nd_syscall.chroot.return = kprobe.function("sys_chroot").return ?
+{
+       @_SYSCALL_CHROOT_NAME
+       retstr = returnstr(1)
+}
index 191fe02d2dc62ab3c2c131d4191dcf9080831e87..ea34261b774f31e69f8c4c0c7f9bc4f98cef56e2 100644 (file)
@@ -1,18 +1,4 @@
 
-# chroot _____________________________________________________
-# long sys_chroot(const char __user * filename)
-probe syscall.chroot = kernel.function("sys_chroot").call
-{
-       name = "chroot"
-       path = user_string_quoted($filename)
-       argstr = user_string_quoted($filename)
-}
-probe syscall.chroot.return = kernel.function("sys_chroot").return
-{
-       name = "chroot"
-       retstr = return_str(1, $return)
-}
-
 # clock_adjtime ______________________________________________
 # SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock,
 #                 struct timex __user *, utx)
This page took 0.034395 seconds and 5 git commands to generate.