From e58fad7a10ab4a9c6954e0f364a5ec8fac07800d Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Mon, 2 Jan 2017 07:03:00 +0100 Subject: [PATCH] PR20333/mlock --- tapset/linux/nd_syscalls.stp | 18 -------------- tapset/linux/sysc_mlock.stp | 47 ++++++++++++++++++++++++++++++++++++ tapset/linux/syscalls.stp | 17 ------------- 3 files changed, 47 insertions(+), 35 deletions(-) create mode 100644 tapset/linux/sysc_mlock.stp diff --git a/tapset/linux/nd_syscalls.stp b/tapset/linux/nd_syscalls.stp index e0a6498e5..80b13cae1 100644 --- a/tapset/linux/nd_syscalls.stp +++ b/tapset/linux/nd_syscalls.stp @@ -1,22 +1,4 @@ -# mlock ______________________________________________________ -# -# long sys_mlock(unsigned long start, size_t len) -# -probe nd_syscall.mlock = kprobe.function("sys_mlock") ? -{ - name = "mlock" - asmlinkage() - addr = ulong_arg(1) - len = ulong_arg(2) - argstr = sprintf("%p, %u", addr, len) -} -probe nd_syscall.mlock.return = kprobe.function("sys_mlock").return ? -{ - name = "mlock" - retstr = returnstr(1) -} - # mlock2 _____________________________________________________ # # long sys_mlock2(unsigned long start, size_t len, int flags) diff --git a/tapset/linux/sysc_mlock.stp b/tapset/linux/sysc_mlock.stp new file mode 100644 index 000000000..6355f6c64 --- /dev/null +++ b/tapset/linux/sysc_mlock.stp @@ -0,0 +1,47 @@ +# mlock ______________________________________________________ +# long sys_mlock(unsigned long start, size_t len) +# + +@define _SYSCALL_MLOCK_NAME +%( + name = "mlock" +%) + +@define _SYSCALL_MLOCK_ARGSTR +%( + argstr = sprintf("%p, %u", addr, len) +%) + +probe syscall.mlock = dw_syscall.mlock !, nd_syscall.mlock {} +probe syscall.mlock.return = dw_syscall.mlock.return !, nd_syscall.mlock.return {} + +# dw_mlock _____________________________________________________ + +probe dw_syscall.mlock = kernel.function("sys_mlock").call ? +{ + @_SYSCALL_MLOCK_NAME + addr = __ulong($start) + len = __ulong($len) + @_SYSCALL_MLOCK_ARGSTR +} +probe dw_syscall.mlock.return = kernel.function("sys_mlock").return ? +{ + @_SYSCALL_MLOCK_NAME + retstr = return_str(1, $return) +} + +# nd_mlock _____________________________________________________ + +probe nd_syscall.mlock = kprobe.function("sys_mlock") ? +{ + @_SYSCALL_MLOCK_NAME + asmlinkage() + addr = ulong_arg(1) + len = ulong_arg(2) + @_SYSCALL_MLOCK_ARGSTR +} +probe nd_syscall.mlock.return = kprobe.function("sys_mlock").return ? +{ + @_SYSCALL_MLOCK_NAME + retstr = returnstr(1) +} diff --git a/tapset/linux/syscalls.stp b/tapset/linux/syscalls.stp index 52d8da5c1..7a6df04cb 100644 --- a/tapset/linux/syscalls.stp +++ b/tapset/linux/syscalls.stp @@ -1,21 +1,4 @@ -# mlock ______________________________________________________ -# -# long sys_mlock(unsigned long start, size_t len) -# -probe syscall.mlock = kernel.function("sys_mlock").call ? -{ - name = "mlock" - addr = __ulong($start) - len = __ulong($len) - argstr = sprintf("%p, %u", addr, len) -} -probe syscall.mlock.return = kernel.function("sys_mlock").return ? -{ - name = "mlock" - retstr = return_str(1, $return) -} - # mlock2 _____________________________________________________ # # long sys_mlock2(unsigned long start, size_t len, int flags) -- 2.43.5