+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,
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;
%}
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 {
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"
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 {
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"
#
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 {
#
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 {
#
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 {
#
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 {