]> sourceware.org Git - systemtap.git/commitdiff
PR20333/getresuid
authorMartin Cermak <mcermak@redhat.com>
Fri, 23 Dec 2016 15:12:15 +0000 (16:12 +0100)
committerMartin Cermak <mcermak@redhat.com>
Fri, 23 Dec 2016 15:12:15 +0000 (16:12 +0100)
tapset/linux/nd_syscalls.stp
tapset/linux/sysc_getresuid.stp [new file with mode: 0644]
tapset/linux/syscalls.stp

index 314075d902f84668dcc918591bb404c4adb14c50..0ba93afe4ae8a2b81e9abeb2c44a8aa75aa3bfab 100644 (file)
@@ -1,25 +1,4 @@
 
-# getresuid __________________________________________________
-# long sys_getresuid(uid_t __user *ruid,
-#              uid_t __user *euid,
-#              uid_t __user *suid)
-probe nd_syscall.getresuid = kprobe.function("sys_getresuid16") ?,
-                             kprobe.function("sys_getresuid") ?
-{
-       name = "getresuid"
-       asmlinkage()
-       ruid_uaddr = pointer_arg(1)
-       euid_uaddr = pointer_arg(2)
-       suid_uaddr = pointer_arg(3)
-       argstr = sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr)
-}
-probe nd_syscall.getresuid.return = kprobe.function("sys_getresuid16").return ?,
-                                    kprobe.function("sys_getresuid").return ?
-{
-       name = "getresuid"
-       retstr = returnstr(1)
-}
-
 # getrlimit __________________________________________________
 # long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
 # long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim)
diff --git a/tapset/linux/sysc_getresuid.stp b/tapset/linux/sysc_getresuid.stp
new file mode 100644 (file)
index 0000000..74a4920
--- /dev/null
@@ -0,0 +1,54 @@
+# getresuid __________________________________________________
+# long sys_getresuid(uid_t __user *ruid,
+#              uid_t __user *euid,
+#              uid_t __user *suid)
+
+@define _SYSCALL_GETRESUID_NAME
+%(
+       name = "getresuid"
+%)
+
+@define _SYSCALL_GETRESUID_ARGSTR
+%(
+       argstr = sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr)
+%)
+
+probe syscall.getresuid = dw_syscall.getresuid !, nd_syscall.getresuid {}
+probe syscall.getresuid.return = dw_syscall.getresuid.return !, nd_syscall.getresuid.return {}
+
+# dw_getresuid _____________________________________________________
+
+probe dw_syscall.getresuid = kernel.function("sys_getresuid16").call ?,
+                          kernel.function("sys_getresuid").call
+{
+       @_SYSCALL_GETRESUID_NAME
+       ruid_uaddr = @choose_defined($ruidp, $ruid)
+       euid_uaddr = @choose_defined($euidp, $euid)
+       suid_uaddr = @choose_defined($suidp, $suid)
+       @_SYSCALL_GETRESUID_ARGSTR
+}
+probe dw_syscall.getresuid.return = kernel.function("sys_getresuid16").return ?,
+                                 kernel.function("sys_getresuid").return
+{
+       @_SYSCALL_GETRESUID_NAME
+       retstr = return_str(1, $return)
+}
+
+# nd_getresuid _____________________________________________________
+
+probe nd_syscall.getresuid = kprobe.function("sys_getresuid16") ?,
+                             kprobe.function("sys_getresuid") ?
+{
+       @_SYSCALL_GETRESUID_NAME
+       asmlinkage()
+       ruid_uaddr = pointer_arg(1)
+       euid_uaddr = pointer_arg(2)
+       suid_uaddr = pointer_arg(3)
+       @_SYSCALL_GETRESUID_ARGSTR
+}
+probe nd_syscall.getresuid.return = kprobe.function("sys_getresuid16").return ?,
+                                    kprobe.function("sys_getresuid").return ?
+{
+       @_SYSCALL_GETRESUID_NAME
+       retstr = returnstr(1)
+}
index a0f04a16fffe27bc99a12a2d918e0c4806798e55..5f36f5d6f0d80c2842b15b5e5c4cc564645c2398 100644 (file)
@@ -1,26 +1,4 @@
 
-# getresuid __________________________________________________
-# long sys_getresuid(uid_t __user *ruid,
-#              uid_t __user *euid,
-#              uid_t __user *suid)
-probe syscall.getresuid = kernel.function("sys_getresuid16").call ?,
-                          kernel.function("sys_getresuid").call
-{
-       name = "getresuid"
-       ruid_uaddr = @choose_defined($ruidp, $ruid)
-       euid_uaddr = @choose_defined($euidp, $euid)
-       suid_uaddr = @choose_defined($suidp, $suid)
-       argstr = sprintf("%p, %p, %p", @choose_defined($ruidp, $ruid),
-                        @choose_defined($euidp, $euid),
-                        @choose_defined($suidp, $suid))
-}
-probe syscall.getresuid.return = kernel.function("sys_getresuid16").return ?,
-                                 kernel.function("sys_getresuid").return
-{
-       name = "getresuid"
-       retstr = return_str(1, $return)
-}
-
 # getrlimit __________________________________________________
 # long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
 # long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim)
This page took 0.034131 seconds and 5 git commands to generate.