From 4171fa51ebfc9d3a0aca9fad042f67627d91f8df Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Thu, 22 Dec 2016 14:00:46 +0100 Subject: [PATCH] PR20333/alarm --- tapset/linux/nd_syscalls.stp | 19 -------------- tapset/linux/sysc_alarm.stp | 50 ++++++++++++++++++++++++++++++++++++ tapset/linux/syscalls.stp | 18 ------------- 3 files changed, 50 insertions(+), 37 deletions(-) create mode 100644 tapset/linux/sysc_alarm.stp diff --git a/tapset/linux/nd_syscalls.stp b/tapset/linux/nd_syscalls.stp index 5da3a638d..12c58da1e 100644 --- a/tapset/linux/nd_syscalls.stp +++ b/tapset/linux/nd_syscalls.stp @@ -1,23 +1,4 @@ -# alarm ______________________________________________________ -# unsigned long sys_alarm (unsigned int seconds) -# long sys32_alarm(unsigned int seconds) -# -probe nd_syscall.alarm = kprobe.function("sys32_alarm") ?, - kprobe.function("sys_alarm") ? -{ - name = "alarm" - asmlinkage() - seconds = uint_arg(1) - argstr = sprint(seconds) -} -probe nd_syscall.alarm.return = kprobe.function("sys32_alarm").return ?, - kprobe.function("sys_alarm").return ? -{ - name = "alarm" - retstr = returnstr(1) -} - # bdflush ____________________________________________________ # long sys_bdflush(int func, long data) probe nd_syscall.bdflush = kprobe.function("sys_bdflush") ? diff --git a/tapset/linux/sysc_alarm.stp b/tapset/linux/sysc_alarm.stp new file mode 100644 index 000000000..e2f89bc89 --- /dev/null +++ b/tapset/linux/sysc_alarm.stp @@ -0,0 +1,50 @@ +# alarm ______________________________________________________ +# unsigned long sys_alarm (unsigned int seconds) +# long sys32_alarm(unsigned int seconds) +# + +@define _SYSCALL_ALARM_NAME +%( + name = "alarm" +%) + +@define _SYSCALL_ALARM_ARGSTR +%( + argstr = sprint(seconds) +%) + +probe syscall.alarm = dw_syscall.alarm !, nd_syscall.alarm {} +probe syscall.alarm.return = dw_syscall.alarm.return !, nd_syscall.alarm.return {} + +# dw_alarm _____________________________________________________ + +probe dw_syscall.alarm = kernel.function("sys32_alarm").call ?, + kernel.function("sys_alarm").call ? +{ + @_SYSCALL_ALARM_NAME + seconds = __uint32($seconds) + @_SYSCALL_ALARM_ARGSTR +} +probe dw_syscall.alarm.return = kernel.function("sys32_alarm").return ?, + kernel.function("sys_alarm").return ? +{ + @_SYSCALL_ALARM_NAME + retstr = return_str(1, $return) +} + +# nd_alarm _____________________________________________________ + +probe nd_syscall.alarm = kprobe.function("sys32_alarm") ?, + kprobe.function("sys_alarm") ? +{ + @_SYSCALL_ALARM_NAME + asmlinkage() + seconds = uint_arg(1) + @_SYSCALL_ALARM_ARGSTR +} +probe nd_syscall.alarm.return = kprobe.function("sys32_alarm").return ?, + kprobe.function("sys_alarm").return ? +{ + @_SYSCALL_ALARM_NAME + retstr = returnstr(1) +} diff --git a/tapset/linux/syscalls.stp b/tapset/linux/syscalls.stp index fba3afc64..fab6baece 100644 --- a/tapset/linux/syscalls.stp +++ b/tapset/linux/syscalls.stp @@ -1,22 +1,4 @@ -# alarm ______________________________________________________ -# unsigned long sys_alarm (unsigned int seconds) -# long sys32_alarm(unsigned int seconds) -# -probe syscall.alarm = kernel.function("sys32_alarm").call ?, - kernel.function("sys_alarm").call ? -{ - name = "alarm" - seconds = __uint32($seconds) - argstr = sprint(seconds) -} -probe syscall.alarm.return = kernel.function("sys32_alarm").return ?, - kernel.function("sys_alarm").return ? -{ - name = "alarm" - retstr = return_str(1, $return) -} - # bdflush ____________________________________________________ # long sys_bdflush(int func, long data) probe syscall.bdflush = kernel.function("sys_bdflush").call ? -- 2.43.5