This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH v2] PR5434: Fix syscall.nfsservctl.
- From: Przemyslaw Pawelczyk <przemyslaw at pawelczyk dot it>
- To: systemtap at sourceware dot org
- Date: Tue, 13 Oct 2009 03:23:45 +0200
- Subject: [PATCH v2] PR5434: Fix syscall.nfsservctl.
- Mail-from: af73111f2ee873888a61b5ffc34a75543a6c8f35 Mon Sep 17 00:00:00 2001
- References: <1255172147.582433.8754@debian>
Use proper $vars according to CONFIG_NFSD and CONFIG_COMPAT in
syscall.nfsservctl and mask it out along with return probe if
CONFIG_NFSD != "[ym]" && CONFIG_COMPAT != "y".
* tapset/syscalls2.stp (syscall.nfsservctl): Fix it.
---
tapset/syscalls2.stp | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
index 5e97aef..47aba9b 100644
--- a/tapset/syscalls2.stp
+++ b/tapset/syscalls2.stp
@@ -61,14 +61,21 @@ probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").
# long compat_sys_nfsservctl(int cmd, struct compat_nfsctl_arg __user *arg,
# union compat_nfsctl_res __user *res)
#
+%( CONFIG_NFSD == "[ym]" || CONFIG_COMPAT == "y" %?
probe syscall.nfsservctl = kernel.function("sys_nfsservctl").call ?,
kernel.function("compat_sys_nfsservctl").call ?
{
name = "nfsservctl"
cmd = $cmd
+%( CONFIG_NFSD == "[ym]" %?
argp_uaddr = $arg
resp_uaddr = $res
argstr = sprintf("%s, %p, %p", _nfsctl_cmd_str($cmd), $arg, $res)
+%:
+ argp_uaddr = $notused
+ resp_uaddr = $notused2
+ argstr = sprintf("/* NI_SYSCALL */ %s, %p, %p", _nfsctl_cmd_str($cmd), $notused, $notused2)
+%)
}
probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return ?,
kernel.function("compat_sys_nfsservctl").return ?
@@ -76,6 +83,7 @@ probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return ?,
name = "nfsservctl"
retstr = returnstr(1)
}
+%)
# nice _______________________________________________________
# long sys_nice(int increment)
--
1.6.3.3