From 67bb697409afe3275711d5119d43e03569d697b1 Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Tue, 3 Jan 2017 08:41:25 +0100 Subject: [PATCH] PR20333/setreuid --- tapset/linux/nd_syscalls2.stp | 17 ------------ tapset/linux/sysc_setreuid.stp | 48 ++++++++++++++++++++++++++++++++++ tapset/linux/syscalls2.stp | 16 ------------ 3 files changed, 48 insertions(+), 33 deletions(-) create mode 100644 tapset/linux/sysc_setreuid.stp diff --git a/tapset/linux/nd_syscalls2.stp b/tapset/linux/nd_syscalls2.stp index 5e76b514d..62f28193b 100644 --- a/tapset/linux/nd_syscalls2.stp +++ b/tapset/linux/nd_syscalls2.stp @@ -1,21 +1,4 @@ -# setreuid ___________________________________________________ -# long sys_setreuid(uid_t ruid, uid_t euid) -# -probe nd_syscall.setreuid = kprobe.function("sys_setreuid") ? -{ - name = "setreuid" - asmlinkage() - ruid = __int32(uint_arg(1)) - euid = __int32(uint_arg(2)) - argstr = sprintf("%d, %d", ruid, euid) -} -probe nd_syscall.setreuid.return = kprobe.function("sys_setreuid").return ? -{ - name = "setreuid" - retstr = returnstr(1) -} - # setreuid16 _________________________________________________ # long sys_setreuid16(old_uid_t ruid, old_uid_t euid) # diff --git a/tapset/linux/sysc_setreuid.stp b/tapset/linux/sysc_setreuid.stp new file mode 100644 index 000000000..385e07e3f --- /dev/null +++ b/tapset/linux/sysc_setreuid.stp @@ -0,0 +1,48 @@ +# setreuid ___________________________________________________ +# long sys_setreuid(uid_t ruid, uid_t euid) +# + +@define _SYSCALL_SETREUID_NAME +%( + name = "setreuid" +%) + +@define _SYSCALL_SETREUID_ARGSTR +%( + argstr = sprintf("%d, %d", ruid, euid) +%) + +probe syscall.setreuid = dw_syscall.setreuid !, nd_syscall.setreuid {} +probe syscall.setreuid.return = dw_syscall.setreuid.return !, + nd_syscall.setreuid.return {} + +# dw_setreuid _____________________________________________________ + +probe dw_syscall.setreuid = kernel.function("sys_setreuid").call +{ + @_SYSCALL_SETREUID_NAME + ruid = __int32($ruid) + euid = __int32($euid) + @_SYSCALL_SETREUID_ARGSTR +} +probe dw_syscall.setreuid.return = kernel.function("sys_setreuid").return +{ + @_SYSCALL_SETREUID_NAME + retstr = return_str(1, $return) +} + +# nd_setreuid _____________________________________________________ + +probe nd_syscall.setreuid = kprobe.function("sys_setreuid") ? +{ + @_SYSCALL_SETREUID_NAME + asmlinkage() + ruid = __int32(uint_arg(1)) + euid = __int32(uint_arg(2)) + @_SYSCALL_SETREUID_ARGSTR +} +probe nd_syscall.setreuid.return = kprobe.function("sys_setreuid").return ? +{ + @_SYSCALL_SETREUID_NAME + retstr = returnstr(1) +} diff --git a/tapset/linux/syscalls2.stp b/tapset/linux/syscalls2.stp index 9c4e1f4db..010b891bf 100644 --- a/tapset/linux/syscalls2.stp +++ b/tapset/linux/syscalls2.stp @@ -1,19 +1,3 @@ - -# setreuid ___________________________________________________ -# long sys_setreuid(uid_t ruid, uid_t euid) -# -probe syscall.setreuid = kernel.function("sys_setreuid").call -{ - name = "setreuid" - ruid = __int32($ruid) - euid = __int32($euid) - argstr = sprintf("%d, %d", ruid, euid) -} -probe syscall.setreuid.return = kernel.function("sys_setreuid").return -{ - name = "setreuid" - retstr = return_str(1, $return) -} # setreuid16 _________________________________________________ # long sys_setreuid16(old_uid_t ruid, old_uid_t euid) # -- 2.43.5