summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhunt <hunt>2007-06-07 15:11:04 +0000
committerhunt <hunt>2007-06-07 15:11:04 +0000
commite62ffeb978b987ffa7cea29c1d0176276b1e65bd (patch)
tree4a9c757920b191ae0367b1c5b5f1cbaac3a3fc33
parent19765587f35b795d9a4e331261b2320fe79fbfe2 (diff)
downloadsystemtap-steved-e62ffeb978b987ffa7cea29c1d0176276b1e65bd.tar.gz
systemtap-steved-e62ffeb978b987ffa7cea29c1d0176276b1e65bd.tar.xz
systemtap-steved-e62ffeb978b987ffa7cea29c1d0176276b1e65bd.zip
2007-06-07 Martin Hunt <hunt@redhat.com>
Fallout from PR 3331 fix. Sometimes glibc and the kernel disagree about signed vs unsigned. * aux_syscalls.stp: Rename __uid() to __int32(). * syscalls.stp: Change syscall.chown, syscall.fchown, syscall.lchown, and syscall.lseek to use __int32(). * syscalls2.stp: Change syscall.setregid, syscall.resgid, syscall.resuid, and syscall.setreuid to use __int32().
-rw-r--r--tapset/ChangeLog9
-rw-r--r--tapset/aux_syscalls.stp7
-rw-r--r--tapset/syscalls.stp18
-rw-r--r--tapset/syscalls2.stp20
4 files changed, 31 insertions, 23 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index efd3d892..2856be28 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,12 @@
+2007-06-07 Martin Hunt <hunt@redhat.com>
+ Fallout from PR 3331 fix. Sometimes glibc and the
+ kernel disagree about signed vs unsigned.
+ * aux_syscalls.stp: Rename __uid() to __int32().
+ * syscalls.stp: Change syscall.chown, syscall.fchown,
+ syscall.lchown, and syscall.lseek to use __int32().
+ * syscalls2.stp: Change syscall.setregid, syscall.resgid,
+ syscall.resuid, and syscall.setreuid to use __int32().
+
2007-05-17 Martin Hunt <hunt@redhat.com>
* syscalls.stp: Make optional sys_alarm, sys_fadvise64,
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp
index e99d6b2f..d80139a4 100644
--- a/tapset/aux_syscalls.stp
+++ b/tapset/aux_syscalls.stp
@@ -1499,10 +1499,9 @@ function __short:long(val:long) %{ /* pure */
THIS->__retvalue = (short)THIS->val;
%}
-
-/* uid_t is unsigned, but calling functions take "-1" as a paremeter */
+/* uid_t is unsigned, but calling functions take "-1" as a parameter */
/* so this hack is necessary to correct that mismatch. */
-function __uid:long(val:long) %{ /* pure */
- THIS->__retvalue = (int)THIS->val;
+function __int32:long(val:long) %{ /* pure */
+ THIS->__retvalue = (int32_t)THIS->val;
%}
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index 51117fb2..fb96698e 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -247,8 +247,8 @@ probe syscall.chmod.return = kernel.function("sys_chmod").return {
probe syscall.chown = kernel.function("sys_chown") {
name = "chown"
path = user_string($filename)
- owner = $user
- group = $group
+ owner = __int32($user)
+ group = __int32($group)
argstr = sprintf("%s, %d, %d",user_string_quoted($filename), owner, group)
}
probe syscall.chown.return = kernel.function("sys_chown").return {
@@ -617,9 +617,9 @@ probe syscall.fchmod.return = kernel.function("sys_fchmod").return {
probe syscall.fchown = kernel.function("sys_fchown") {
name = "fchown"
fd = $fd
- owner = $user
- group = $group
- argstr = sprintf("%d, %d, %d", $fd, $user, $group)
+ owner = __int32($user)
+ group = __int32($group)
+ argstr = sprintf("%d, %d, %d", $fd, owner, group)
}
probe syscall.fchown.return = kernel.function("sys_fchown").return {
name = "fchown"
@@ -1599,8 +1599,8 @@ probe syscall.kill.return = kernel.function("sys_kill").return {
probe syscall.lchown = kernel.function("sys_lchown") {
name = "lchown"
path = user_string($filename)
- owner = $user
- group = $group
+ owner = __int32($user)
+ group = __int32($group)
argstr = sprintf("%s, %d, %d",user_string_quoted($filename), owner, group)
}
probe syscall.lchown.return = kernel.function("sys_lchown").return {
@@ -1764,10 +1764,10 @@ probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return {
probe syscall.lseek = kernel.function("sys_lseek") {
name = "lseek"
fildes = $fd
- offset = $offset
+ offset = __int32($offset)
whence = $origin
whence_str = _seek_whence_str($origin)
- argstr = sprintf("%d, %d, %s", $fd, $offset, whence_str)
+ argstr = sprintf("%d, %d, %s", $fd, offset, whence_str)
}
probe syscall.lseek.return = kernel.function("sys_lseek").return {
name = "lseek"
diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
index 5ce1b4b5..6b8a5ac4 100644
--- a/tapset/syscalls2.stp
+++ b/tapset/syscalls2.stp
@@ -1350,8 +1350,8 @@ probe syscall.setpriority.return = kernel.function("sys_setpriority").return {
#
probe syscall.setregid = kernel.function("sys_setregid") {
name = "setregid"
- rgid = __uid($rgid)
- egid = __uid($egid)
+ rgid = __int32($rgid)
+ egid = __int32($egid)
argstr = sprintf("%d, %d", rgid, egid)
}
probe syscall.setregid.return = kernel.function("sys_setregid").return {
@@ -1376,9 +1376,9 @@ probe syscall.setregid16.return = kernel.function("sys_setregid16").return ? {
#
probe syscall.setresgid = kernel.function("sys_setresgid") {
name = "setresgid"
- rgid = __uid($rgid)
- egid = __uid($egid)
- sgid = __uid($sgid)
+ rgid = __int32($rgid)
+ egid = __int32($egid)
+ sgid = __int32($sgid)
argstr = sprintf("%d, %d, %d", rgid, egid, sgid)
}
probe syscall.setresgid.return = kernel.function("sys_setresgid").return {
@@ -1409,9 +1409,9 @@ probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return ? {
#
probe syscall.setresuid = kernel.function("sys_setresuid") {
name = "setresuid"
- ruid = __uid($ruid)
- euid = __uid($euid)
- suid = __uid($suid)
+ ruid = __int32($ruid)
+ euid = __int32($euid)
+ suid = __int32($suid)
argstr = sprintf("%d, %d, %d", ruid, euid, suid)
}
probe syscall.setresuid.return = kernel.function("sys_setresuid").return {
@@ -1440,8 +1440,8 @@ probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return ? {
#
probe syscall.setreuid = kernel.function("sys_setreuid") {
name = "setreuid"
- ruid = __uid($ruid)
- euid = __uid($euid)
+ ruid = __int32($ruid)
+ euid = __int32($euid)
argstr = sprintf("%d, %d", ruid, euid)
}
probe syscall.setreuid.return = kernel.function("sys_setreuid").return {