PRINT("setfsgid ( %d )", arg1);
}
-PRE(setregid)
+PREx(sys_setregid16, 0)
{
- /* int setregid(gid_t rgid, gid_t egid); */
- PRINT("setregid ( %d, %d )", arg1, arg2);
+ PRINT("sys_setregid16 ( %d, %d )", arg1, arg2);
+ PRE_REG_READ2(long, "setregid16", vki_old_gid_t, rgid, vki_old_gid_t, egid);
}
PRE(setresuid)
VG_(main_pgrp) = VG_(getpgrp)();
}
-PRE(setregid32)
+PREx(sys_setregid, 0)
{
- /* int setregid(gid_t rgid, gid_t egid); */
- PRINT("setregid32(?) ( %d, %d )", arg1, arg2);
+ PRINT("sys_setregid ( %d, %d )", arg1, arg2);
+ PRE_REG_READ2(long, "setregid", vki_gid_t, rgid, vki_gid_t, egid);
}
PRE(setresuid32)
PRINT("setresuid32(?) ( %d, %d, %d )", arg1, arg2, arg3);
}
-PRE(setreuid)
+PREx(sys_setreuid16, 0)
{
- /* int setreuid(uid_t ruid, uid_t euid); */
- PRINT("setreuid ( 0x%x, 0x%x )", arg1, arg2);
+ PRINT("setreuid16 ( 0x%x, 0x%x )", arg1, arg2);
+ PRE_REG_READ2(long, "setreuid16", vki_old_uid_t, ruid, vki_old_uid_t, euid);
+}
+
+PREx(sys_setreuid, 0)
+{
+ PRINT("sys_setreuid ( 0x%x, 0x%x )", arg1, arg2);
+ PRE_REG_READ2(long, "setreuid", vki_uid_t, ruid, vki_uid_t, euid);
}
PREALIAS(setreuid32, setreuid);
-PRE(setrlimit)
+PREx(sys_setrlimit, 0)
{
- /* int setrlimit (int resource, const struct rlimit *rlim); */
- PRINT("setrlimit ( %d, %p )", arg1,arg2);
+ PRINT("sys_setrlimit ( %d, %p )", arg1,arg2);
+ PRE_REG_READ2(long, "setrlimit",
+ unsigned int, resource, struct rlimit *, rlim);
PRE_MEM_READ( "setrlimit(rlim)", arg2, sizeof(struct vki_rlimit) );
if (arg1 == VKI_RLIMIT_NOFILE) {
PREALIAS(rt_sigprocmask, sigprocmask);
POSTALIAS(rt_sigprocmask, sigprocmask);
-PRE(sigpending)
+PREx(sys_sigpending, NBRunInLWP)
{
- /* int sigpending( sigset_t *set ) ; */
- PRINT( "sigpending ( %p )", arg1 );
- PRE_MEM_WRITE( "sigpending(set)", arg1, sizeof(vki_sigset_t));
+ PRINT( "sys_sigpending ( %p )", arg1 );
+ PRE_REG_READ1(long, "sigpending", vki_old_sigset_t *, set);
+ PRE_MEM_WRITE( "sigpending(set)", arg1, sizeof(vki_old_sigset_t));
}
-POST(sigpending)
+POST(sys_sigpending)
{
- POST_MEM_WRITE( arg1, sizeof( vki_sigset_t ) ) ;
+ POST_MEM_WRITE( arg1, sizeof( vki_old_sigset_t ) ) ;
}
-PREALIAS(rt_sigpending, sigpending);
-POSTALIAS(rt_sigpending, sigpending);
+PREALIAS(rt_sigpending, sys_sigpending);
+POSTALIAS(rt_sigpending, sys_sigpending);
PRE(io_setup)
{
// (__NR_sgetmask, sys_sgetmask), // 68 * (ANSI C)
// (__NR_ssetmask, sys_ssetmask), // 69 * (ANSI C)
- SYSB_(setreuid, 0), // 70 sys_setreuid16 ##
- SYSB_(setregid, 0), // 71 sys_setregid16 ##
+ SYSX_(__NR_setreuid, sys_setreuid16), // 70 ## (BSD4.3)
+ SYSX_(__NR_setregid, sys_setregid16), // 71 ## (BSD4.3)
SYSB_(sigsuspend, MayBlock), // 72 sys_sigsuspend
- SYSBA(sigpending, NBRunInLWP), // 73 sys_sigpending *
+ SYSXY(__NR_sigpending, sys_sigpending), // 73 * P
// (__NR_sethostname, sys_sethostname), // 74 * (almost P)
- SYSB_(setrlimit, 0), // 75 sys_setrlimit *
+ SYSX_(__NR_setrlimit, sys_setrlimit), // 75 * (SVr4,BSD4.3)
SYSBA(getrlimit, 0), // 76 sys_old_getrlimit *
SYSBA(getrusage, 0), // 77 sys_getrusage *
SYSBA(gettimeofday, 0), // 78 sys_gettimeofday *
SYSBA(lstat64, 0), // 196 sys_lstat64 %%
SYSBA(fstat64, 0), // 197 sys_fstat64 %%
SYSB_(lchown32, 0), // 198 sys_lchown *
- SYSX_(__NR_getuid32, sys_getuid), // 199 *
+ SYSX_(__NR_getuid32, sys_getuid), // 199 *
- SYSX_(__NR_getgid32, sys_getgid), // 200 *
- SYSX_(__NR_geteuid32, sys_geteuid), // 201 *
- SYSX_(__NR_getegid32, sys_getegid), // 202 *
- SYSB_(setreuid32, 0), // 203 sys_setreuid *
- SYSB_(setregid32, 0), // 204 sys_setregid *
+ SYSX_(__NR_getgid32, sys_getgid), // 200 *
+ SYSX_(__NR_geteuid32, sys_geteuid), // 201 *
+ SYSX_(__NR_getegid32, sys_getegid), // 202 *
+ SYSX_(__NR_setreuid32, sys_setreuid), // 203 * (BSD4.3)
+ SYSX_(__NR_setregid32, sys_setregid), // 204 * (BSD4.3)
SYSBA(getgroups32, 0), // 205 sys_getgroups *
SYSB_(setgroups32, 0), // 206 sys_setgroups *
GO(__NR_setsid, "0e");
SY(__NR_setsid);
- // __NR_sigaction 67
+ // __NR_sigaction 67 --> sys_sigaction()
GO(__NR_sigaction, "3s 2m");
SY(__NR_sigaction, x0, x0+1, x0+1);
// __NR_ssetmask 69
// (Not yet handled by Valgrind)
- // __NR_setreuid 70
- // __NR_setregid 71
- // __NR_sigsuspend 72
- // __NR_sigpending 73
+ // __NR_setreuid 70 --> sys_setreuid16()
+ GO(__NR_setreuid, "2s 0m");
+ SY(__NR_setreuid, x0, x0);
+
+ // __NR_setregid 71 --> sys_setregid16()
+ GO(__NR_setregid, "2s 0m");
+ SY(__NR_setregid, x0, x0);
+
+ // __NR_sigsuspend 72 --> sys_sigsuspend()
+
+ // __NR_sigpending 73 --> sys_sigpending()
+ GO(__NR_sigpending, "1s 1m");
+ SY(__NR_sigpending, x0);
// __NR_sethostname 74
// (Not yet handled by Valgrind)
- // __NR_setrlimit 75
+ // __NR_setrlimit 75 --> sys_setrlimit()
+ GO(__NR_setrlimit, "2s 1m");
+ SY(__NR_setrlimit, x0, x0);
+
// __NR_getrlimit 76
// __NR_getrusage 77
// __NR_gettimeofday 78
SY(__NR_getegid32);
// __NR_setreuid32 203
+ GO(__NR_setreuid32, "2s 0m");
+ SY(__NR_setreuid32, x0, x0);
+
// __NR_setregid32 204
+ GO(__NR_setregid32, "2s 0m");
+ SY(__NR_setregid32, x0, x0);
+
// __NR_getgroups32 205
// __NR_setgroups32 206
// __NR_fchown32 207
by 0x........: __libc_start_main (...libc...)
by 0x........: ...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
+ 70: __NR_setreuid 2s 0m
+-----------------------------------------------------
+
+Syscall param setreuid16(ruid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setreuid16(euid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+-----------------------------------------------------
+ 71: __NR_setregid 2s 0m
+-----------------------------------------------------
+
+Syscall param setregid16(rgid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setregid16(egid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+-----------------------------------------------------
+ 73: __NR_sigpending 1s 1m
+-----------------------------------------------------
+
+Syscall param sigpending(set) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param sigpending(set) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+-----------------------------------------------------
+ 75: __NR_setrlimit 2s 1m
+-----------------------------------------------------
+
+Syscall param setrlimit(resource) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setrlimit(rlim) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setrlimit(rlim) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
111: __NR_vhangup 0e
-----------------------------------------------------
202: __NR_getegid32 0e
-----------------------------------------------------
-----------------------------------------------------
+203: __NR_setreuid32 2s 0m
+-----------------------------------------------------
+
+Syscall param setreuid(ruid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setreuid(euid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+-----------------------------------------------------
+204: __NR_setregid32 2s 0m
+-----------------------------------------------------
+
+Syscall param setregid(rgid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param setregid(egid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+-----------------------------------------------------
213: __NR_setuid32 1s 0m
-----------------------------------------------------