From 0dcf9a7826ab038c38cf4d50e970359405fcdf9c Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Fri, 23 Dec 2016 16:36:25 +0100 Subject: [PATCH] PR20333/gettid --- tapset/linux/nd_syscalls.stp | 13 ------------ tapset/linux/sysc_gettid.stp | 41 ++++++++++++++++++++++++++++++++++++ tapset/linux/syscalls.stp | 13 ------------ 3 files changed, 41 insertions(+), 26 deletions(-) create mode 100644 tapset/linux/sysc_gettid.stp diff --git a/tapset/linux/nd_syscalls.stp b/tapset/linux/nd_syscalls.stp index 28b25d4b3..7916da1f0 100644 --- a/tapset/linux/nd_syscalls.stp +++ b/tapset/linux/nd_syscalls.stp @@ -1,17 +1,4 @@ -# gettid _____________________________________________________ -# long sys_gettid(void) -probe nd_syscall.gettid = kprobe.function("sys_gettid") -{ - name = "gettid" - argstr = "" -} -probe nd_syscall.gettid.return = kprobe.function("sys_gettid").return -{ - name = "gettid" - retstr = returnstr(1) -} - # gettimeofday _______________________________________________ # long sys_gettimeofday(struct timeval __user *tv, # struct timezone __user *tz) diff --git a/tapset/linux/sysc_gettid.stp b/tapset/linux/sysc_gettid.stp new file mode 100644 index 000000000..458092341 --- /dev/null +++ b/tapset/linux/sysc_gettid.stp @@ -0,0 +1,41 @@ +# gettid _____________________________________________________ +# long sys_gettid(void) + +@define _SYSCALL_GETTID_NAME +%( + name = "gettid" +%) + +@define _SYSCALL_GETTID_ARGSTR +%( + argstr = "" +%) + +probe syscall.gettid = dw_syscall.gettid !, nd_syscall.gettid {} +probe syscall.gettid.return = dw_syscall.gettid.return !, nd_syscall.gettid.return {} + +# dw_gettid _____________________________________________________ + +probe dw_syscall.gettid = kernel.function("sys_gettid").call +{ + @_SYSCALL_GETTID_NAME + @_SYSCALL_GETTID_ARGSTR +} +probe dw_syscall.gettid.return = kernel.function("sys_gettid").return +{ + @_SYSCALL_GETTID_NAME + retstr = return_str(1, $return) +} + +# nd_gettid _____________________________________________________ + +probe nd_syscall.gettid = kprobe.function("sys_gettid") +{ + @_SYSCALL_GETTID_NAME + @_SYSCALL_GETTID_ARGSTR +} +probe nd_syscall.gettid.return = kprobe.function("sys_gettid").return +{ + @_SYSCALL_GETTID_NAME + retstr = returnstr(1) +} diff --git a/tapset/linux/syscalls.stp b/tapset/linux/syscalls.stp index e698fbbb6..17cba6ebb 100644 --- a/tapset/linux/syscalls.stp +++ b/tapset/linux/syscalls.stp @@ -1,17 +1,4 @@ -# gettid _____________________________________________________ -# long sys_gettid(void) -probe syscall.gettid = kernel.function("sys_gettid").call -{ - name = "gettid" - argstr = "" -} -probe syscall.gettid.return = kernel.function("sys_gettid").return -{ - name = "gettid" - retstr = return_str(1, $return) -} - # gettimeofday _______________________________________________ # long sys_gettimeofday(struct timeval __user *tv, # struct timezone __user *tz) -- 2.43.5