From e62ffeb978b987ffa7cea29c1d0176276b1e65bd Mon Sep 17 00:00:00 2001 From: hunt Date: Thu, 7 Jun 2007 15:11:04 +0000 Subject: [PATCH] 2007-06-07 Martin Hunt 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(). --- tapset/ChangeLog | 9 +++++++++ tapset/aux_syscalls.stp | 7 +++---- tapset/syscalls.stp | 18 +++++++++--------- tapset/syscalls2.stp | 20 ++++++++++---------- 4 files changed, 31 insertions(+), 23 deletions(-) diff --git a/tapset/ChangeLog b/tapset/ChangeLog index efd3d8920..2856be28c 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,12 @@ +2007-06-07 Martin Hunt + 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 * syscalls.stp: Make optional sys_alarm, sys_fadvise64, diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index e99d6b2f7..d80139a48 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 51117fb2b..fb96698e2 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 5ce1b4b5f..6b8a5ac4f 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 { -- 2.43.5