|
From: Nicholas N. <nj...@ca...> - 2004-11-11 18:01:00
|
CVS commit by nethercote:
Converted a bunch more syscalls.
M +95 -74 coregrind/vg_syscalls.c 1.175
M +3 -0 include/linux/vki.h 1.3
M +3 -0 include/x86-linux/vki_arch_posixtypes.h 1.2
M +131 -84 memcheck/tests/scalar.c 1.7
M +254 -22 memcheck/tests/scalar.stderr.exp 1.7
--- valgrind/coregrind/vg_syscalls.c #1.174:1.175
@@ -1059,6 +1059,9 @@ static Bool fd_allowed(Int fd, const Cha
for the syscall (eg. "write")... this should be good enough for the
average user to understand what is happening, without confusing them
- with names like "sys_write". However, for the --trace-syscalls=yes
- output, we use the sys_foo() name to avoid ambiguity.
+ with names like "sys_write". Also, the arg names sometimes are taken
+ from the man pages for the glibc equivalent functions, rather than those
+ used in the Linux source code, for the same reason. However, for the
+ --trace-syscalls=yes output, we use the sys_foo() name to avoid
+ ambiguity.
XXX: some of these are arch-specific, and should be factored out.
@@ -1182,9 +1185,16 @@ PREx(sys_mount, MayBlock)
}
-PRE(umount)
+PREx(sys_oldumount, 0)
{
- /* int umount(const char *path) */
- PRINT("umount( %p )", arg1);
- PRE_MEM_RASCIIZ( "umount(path)",arg1);
+ PRINT("sys_oldumount( %p )", arg1);
+ PRE_REG_READ1(long, "umount", char *, path);
+ PRE_MEM_RASCIIZ( "umount(path)", arg1);
+}
+
+PREx(sys_umount, 0)
+{
+ PRINT("sys_umount( %p )", arg1);
+ PRE_REG_READ2(long, "umount2", char *, path, int, flags);
+ PRE_MEM_RASCIIZ( "umount2(path)", arg1);
}
@@ -1727,8 +1737,9 @@ POST(pread64)
}
-PRE(mknod)
+PREx(sys_mknod, 0)
{
- /* int mknod(const char *pathname, mode_t mode, dev_t dev); */
- PRINT("mknod ( %p, 0x%x, 0x%x )", arg1, arg2, arg3 );
+ PRINT("sys_mknod ( %p, 0x%x, 0x%x )", arg1, arg2, arg3 );
+ PRE_REG_READ3(long, "mknod",
+ const char *, pathname, int, mode, unsigned, dev);
PRE_MEM_RASCIIZ( "mknod(pathname)", arg1 );
}
@@ -1954,15 +1965,15 @@ PRE(brk)
}
-PRE(chdir)
+PREx(sys_chdir, 0)
{
- /* int chdir(const char *path); */
- PRINT("chdir ( %p )", arg1);
+ PRINT("sys_chdir ( %p )", arg1);
+ PRE_REG_READ1(long, "chdir", const char *, path);
PRE_MEM_RASCIIZ( "chdir(path)", arg1 );
}
-PRE(chmod)
+PREx(sys_chmod, 0)
{
- /* int chmod(const char *path, mode_t mode); */
- PRINT("chmod ( %p, %d )", arg1,arg2);
+ PRINT("sys_chmod ( %p, %d )", arg1,arg2);
+ PRE_REG_READ2(long, "chmod", const char *, path, vki_mode_t, mode);
PRE_MEM_RASCIIZ( "chmod(path)", arg1 );
}
@@ -1978,8 +1989,9 @@ PREALIAS(chown32, chown);
PREALIAS(lchown32, chown);
-PRE(close)
+PREx(sys_close, 0)
{
- /* int close(int fd); */
- PRINT("close ( %d )",arg1);
+ PRINT("sys_close ( %d )", arg1);
+ PRE_REG_READ1(long, "close", unsigned int, fd);
+
/* Detect and negate attempts by the client to close Valgrind's log fd */
if (!fd_allowed(arg1, "close", tid, False))
@@ -1987,7 +1999,7 @@ PRE(close)
}
-POST(close)
+POST(sys_close)
{
- if(VG_(clo_track_fds)) record_fd_close(tid, arg1);
+ if (VG_(clo_track_fds)) record_fd_close(tid, arg1);
}
@@ -3916,16 +3928,17 @@ POST(kill)
}
-PRE(link)
+PREx(sys_link, MayBlock)
{
- /* int link(const char *oldpath, const char *newpath); */
- PRINT("link ( %p, %p)", arg1, arg2);
+ PRINT("sys_link ( %p, %p)", arg1, arg2);
+ PRE_REG_READ2(long, "link", const char *, oldpath, const char *, newpath);
PRE_MEM_RASCIIZ( "link(oldpath)", arg1);
PRE_MEM_RASCIIZ( "link(newpath)", arg2);
}
-PRE(lseek)
+PREx(sys_lseek, 0)
{
- /* off_t lseek(int fildes, off_t offset, int whence); */
- PRINT("lseek ( %d, %d, %d )",arg1,arg2,arg3);
+ PRINT("sys_lseek ( %d, %d, %d )", arg1,arg2,arg3);
+ PRE_REG_READ3(vki_off_t, "lseek",
+ unsigned int, fd, vki_off_t, offset, unsigned int, whence);
}
@@ -4195,12 +4208,12 @@ PREx(sys_write, MayBlock)
}
-PRE(creat)
+PREx(sys_creat, MayBlock)
{
- /* int creat(const char *pathname, mode_t mode); */
- PRINT("creat ( %p(%s), %d )",arg1,arg1,arg2);
+ PRINT("sys_creat ( %p(%s), %d )", arg1,arg1,arg2);
+ PRE_REG_READ2(long, "creat", const char *, pathname, int, mode);
PRE_MEM_RASCIIZ( "creat(pathname)", arg1 );
}
-POST(creat)
+POST(sys_creat)
{
if (!fd_allowed(res, "creat", tid, True)) {
@@ -4574,11 +4587,15 @@ PRE(settimeofday)
}
-PRE(setuid)
+PREx(sys_setuid16, 0)
{
- /* int setuid(uid_t uid); */
- PRINT("setuid ( %d )", arg1);
+ PRINT("sys_setuid16 ( %d )", arg1);
+ PRE_REG_READ1(long, "setuid16", vki_old_uid_t, uid);
}
-PREALIAS(setuid32, setuid);
+PREx(sys_setuid, 0)
+{
+ PRINT("sys_setuid ( %d )", arg1);
+ PRE_REG_READ1(long, "setuid", vki_uid_t, uid);
+}
PRE(socketcall)
@@ -5017,14 +5034,15 @@ POST(sysinfo)
}
-PRE(time)
+PREx(sys_time, 0)
{
/* time_t time(time_t *t); */
- PRINT("time ( %p )",arg1);
+ PRINT("sys_time ( %p )",arg1);
+ PRE_REG_READ1(long, "time", int *, t);
if (arg1 != (UWord)NULL) {
- PRE_MEM_WRITE( "time", arg1, sizeof(vki_time_t) );
+ PRE_MEM_WRITE( "time(t)", arg1, sizeof(vki_time_t) );
}
}
-POST(time)
+POST(sys_time)
{
if (arg1 != (UWord)NULL) {
@@ -5060,8 +5078,8 @@ PRE(umask)
}
-PRE(unlink)
+PREx(sys_unlink, MayBlock)
{
- /* int unlink(const char *pathname) */
- PRINT("unlink ( %p(%s) )",arg1, arg1);
+ PRINT("sys_unlink ( %p(%s) )", arg1,arg1);
+ PRE_REG_READ1(long, "unlink", const char *, pathname);
PRE_MEM_RASCIIZ( "unlink(pathname)", arg1 );
}
@@ -5090,14 +5108,15 @@ PRE(utime)
}
-PRE(waitpid)
+PREx(sys_waitpid, MayBlock)
{
- /* pid_t waitpid(pid_t pid, int *status, int options); */
+ PRINT("sys_waitpid ( %d, %p, %d )", arg1,arg2,arg3);
+ PRE_REG_READ3(long, "waitpid",
+ vki_pid_t, pid, unsigned int *, status, int, options);
- PRINT("waitpid ( %d, %p, %d )", arg1,arg2,arg3);
if (arg2 != (Addr)NULL)
PRE_MEM_WRITE( "waitpid(status)", arg2, sizeof(int) );
}
-POST(waitpid)
+POST(sys_waitpid)
{
if (arg2 != (Addr)NULL)
@@ -5778,4 +5797,6 @@ static const struct sys_info bad_sys = {
// Those with "%%" are generic, but within a "#if BITS_PER_LONG == 32"
+// Those with 'P' are generic/POSIX. Those with 'L' are Linux-only.
+
// XXX: this does duplicate the vki_unistd.h file somewhat -- could make
// this table replace that somehow...
@@ -5785,35 +5806,35 @@ static const struct sys_info bad_sys = {
static const struct sys_info sys_info[] = {
// 0 is restart_syscall
- SYSX_(__NR_exit, sys_exit), // 1 *
- SYSBA(fork, 0), // 2 sys_fork
- SYSXY(__NR_read, sys_read), // 3 *
- SYSX_(__NR_write, sys_write), // 4 *
+ SYSX_(__NR_exit, sys_exit), // 1 * P
+ SYSBA(fork, 0), // 2 sys_fork P
+ SYSXY(__NR_read, sys_read), // 3 * P
+ SYSX_(__NR_write, sys_write), // 4 * P
- SYSXY(__NR_open, sys_open), // 5 *
- SYSBA(close, 0), // 6 sys_close *
- SYSBA(waitpid, MayBlock), // 7 sys_waitpid *
- SYSBA(creat, MayBlock), // 8 sys_creat *
- SYSB_(link, MayBlock), // 9 sys_link *
+ SYSXY(__NR_open, sys_open), // 5 * P
+ SYSXY(__NR_close, sys_close), // 6 * P
+ SYSXY(__NR_waitpid, sys_waitpid), // 7 * P
+ SYSXY(__NR_creat, sys_creat), // 8 * P
+ SYSX_(__NR_link, sys_link), // 9 * P
- SYSB_(unlink, MayBlock), // 10 sys_unlink *
- SYSB_(execve, Special), // 11 sys_execve
- SYSB_(chdir, 0), // 12 sys_chdir *
- SYSBA(time, 0), // 13 sys_time *
- SYSB_(mknod, 0), // 14 sys_mknod *
+ SYSX_(__NR_unlink, sys_unlink), // 10 * P
+ SYSB_(execve, Special), // 11 sys_execve () P
+ SYSX_(__NR_chdir, sys_chdir), // 12 *
+ SYSXY(__NR_time, sys_time), // 13 *
+ SYSX_(__NR_mknod, sys_mknod), // 14 * P
- SYSB_(chmod, 0), // 15 sys_chmod *
- // lchown 16 sys_lchown16 ##
- // break 17 sys_ni_syscall
- // oldstat 18 sys_stat *
- SYSB_(lseek, 0), // 19 sys_lseek *
+ SYSX_(__NR_chmod, sys_chmod), // 15 * P
+ // lchown sys_lchown16 ## // 16
+ // break sys_ni_syscall // 17
+ // oldstat sys_stat // 18 *
+ SYSX_(__NR_lseek, sys_lseek), // 19 * P
SYSX_(__NR_getpid, sys_getpid), // 20 *
- SYSX_(__NR_mount, sys_mount), // 21 *
- SYSB_(umount, 0), // 22 sys_oldumount *
- SYSB_(setuid, 0), // 23 sys_setuid16 ##
- SYSX_(__NR_getuid, sys_getuid16), // 24 ##
+ SYSX_(__NR_mount, sys_mount), // 21 * L
+ SYSX_(__NR_umount, sys_oldumount), // 22 * L
+ SYSX_(__NR_setuid, sys_setuid16), // 23 ## P
+ SYSX_(__NR_getuid, sys_getuid16), // 24 ## P
// stime 25 sys_stime *
- SYSBA(ptrace, 0), // 26 sys_ptrace
+ SYSBA(ptrace, 0), // 26 sys_ptrace ()
SYSB_(alarm, MayBlock), /* not blocking, but must run in LWP context */ // 27 sys_alarm *
// oldfstat 28 sys_fstat *
@@ -5846,5 +5867,5 @@ static const struct sys_info sys_info[]
SYSX_(__NR_getegid, sys_getegid16), // 50 ##
SYSB_(acct, 0), // 51 sys_acct *
- // umount2 52 sys_umount
+ SYSX_(__NR_umount2, sys_umount), // 52 * L
// lock 53 sys_ni_syscall
SYSBA(ioctl, MayBlock), // 54 sys_ioctl *
@@ -6041,5 +6062,5 @@ static const struct sys_info sys_info[]
SYSBA(getresgid32, 0), // 211 sys_getresgid *
SYSB_(chown32, 0), // 212 sys_chown *
- SYSB_(setuid32, 0), // 213 sys_setuid *
+ SYSX_(__NR_setuid32, sys_setuid), // 213 *
SYSB_(setgid32, 0), // 214 sys_setgid *
--- valgrind/include/linux/vki.h #1.2:1.3
@@ -98,4 +98,7 @@ typedef __vki_kernel_uid32_t vki_uid_t;
typedef __vki_kernel_gid32_t vki_gid_t;
+typedef __vki_kernel_old_uid_t vki_old_uid_t;
+typedef __vki_kernel_old_gid_t vki_old_gid_t;
+
typedef __vki_kernel_loff_t vki_loff_t;
--- valgrind/include/x86-linux/vki_arch_posixtypes.h #1.1:1.2
@@ -52,4 +52,7 @@ typedef unsigned int __vki_kernel_uid32_
typedef unsigned int __vki_kernel_gid32_t;
+typedef unsigned short __vki_kernel_old_uid_t;
+typedef unsigned short __vki_kernel_old_gid_t;
+
typedef long long __vki_kernel_loff_t;
--- valgrind/memcheck/tests/scalar.c #1.6:1.7
@@ -18,4 +18,6 @@
__NR_xxx, #__NR_xxx, s);
+#define SY syscall
+
int main(void)
{
@@ -37,46 +39,83 @@ int main(void)
// __NR_read 3 --> sys_read()
// Nb: here we are also getting an error from the syscall arg itself.
- GO(__NR_read, "1+3 scalar errors");
- syscall(i0+__NR_read, i0, s0, i0);
+ GO(__NR_read, "1+3s 0m");
+ SY(__NR_read+i0, i0, s0, i0);
// __NR_write 4 --> sys_write()
- GO(__NR_write, "3 scalar errors, 1 memory error");
- syscall(__NR_write, i0, s0, i0+1);
+ GO(__NR_write, "3S 1m");
+ SY(__NR_write, i0, s0, i0+1);
- // __NR_open 5
- GO(__NR_open, "(2-args), 2 scalar errors, 1 memory error");
- syscall(__NR_open, s0, i0, i0+1);
+ // __NR_open 5 --> sys_open()
+ GO(__NR_open, "(2-args) 2s 1m");
+ SY(__NR_open, s0, i0, i0+1);
- GO(__NR_open, "(3-args), 1 scalar error");
- syscall(__NR_open, "tmp_write_file_foo", O_CREAT, i0);
+ GO(__NR_open, "(3-args) 1s 0m");
+ SY(__NR_open, "tmp_write_file_foo", O_CREAT, i0);
+
+ // __NR_close 6 --> sys_close()
+ GO(__NR_close, "1s 0m");
+ SY(__NR_close, i0-1);
+
+ // __NR_waitpid 7 --> sys_waitpid()
+ GO(__NR_waitpid, "3s 1m");
+ SY(__NR_waitpid, i0-1);
+
+ // __NR_creat 8 --> sys_creat()
+ GO(__NR_creat, "2s 1m");
+ SY(__NR_creat, s0, i0);
+
+ // __NR_link 9 --> sys_link()
+ GO(__NR_link, "2s 2m");
+ SY(__NR_link, s0, s0);
+
+ // __NR_unlink 10 --> sys_unlink()
+ GO(__NR_unlink, "1s 1m");
+ SY(__NR_unlink, s0);
- // __NR_close 6
- // __NR_waitpid 7
- // __NR_creat 8
- // __NR_link 9
- // __NR_unlink 10
// __NR_execve 11
- // __NR_chdir 12
- // __NR_time 13
- // __NR_mknod 14
- // __NR_chmod 15
+
+ // __NR_chdir 12 --> sys_chdir()
+ GO(__NR_chdir, "1s 1m");
+ SY(__NR_chdir, s0);
+
+ // __NR_time 13 --> sys_time()
+ GO(__NR_time, "1s 1m");
+ SY(__NR_time, s0+1);
+
+ // __NR_mknod 14 --> sys_mknod()
+ GO(__NR_mknod, "3S 1M");
+ SY(__NR_mknod, s0, i0, i0);
+
+ // __NR_chmod 15 --> sys_chmod()
+ GO(__NR_chmod, "2S 1M");
+ SY(__NR_chmod, s0, i0);
+
// __NR_lchown 16
// __NR_break 17
// __NR_oldstat 18
- // __NR_lseek 19
+
+ // __NR_lseek 19 --> sys_lseek()
+ GO(__NR_lseek, "3S 0M");
+ SY(__NR_lseek, i0, i0, i0);
+
// __NR_getpid 20 --> sys_getpid()
- GO(__NR_getpid, "0 errors");
- syscall(__NR_getpid);
+ GO(__NR_getpid, "0S 0M");
+ SY(__NR_getpid);
- // __NR_mount 21
- GO(__NR_mount, "4 scalar errors, 3 memory errors");
- syscall(__NR_mount, s0, s0, s0, i0, s0);
+ // __NR_mount 21 --> sys_mount()
+ GO(__NR_mount, "5s 3m");
+ SY(__NR_mount, s0, s0, s0, i0, s0);
- // __NR_umount 22
- // __NR_setuid 23
+ // __NR_umount 22 --> sys_oldumount()
+ GO(__NR_umount, "1s 1m");
+ SY(__NR_umount, s0);
- // __NR_getuid 24
- GO(__NR_getuid, "0 errors");
- syscall(__NR_getuid);
+ // __NR_setuid 23 --> sys_setuid16()
+ GO(__NR_setuid, "1s 0m");
+ SY(__NR_setuid, i0);
+
+ // __NR_getuid 24 --> sys_getuid16()
+ GO(__NR_getuid, "0e");
+ SY(__NR_getuid);
// __NR_stime 25
@@ -85,5 +124,5 @@ int main(void)
// __NR_oldfstat 28
- // __NR_pause 29
+ // __NR_pause 29 --> sys_pause()
// XXX: will have to be tested separately
@@ -95,7 +134,7 @@ int main(void)
// __NR_ftime 35
- // __NR_sync 36
- GO(__NR_sync, "0 errors");
- syscall(__NR_sync);
+ // __NR_sync 36 --> sys_sync()
+ GO(__NR_sync, "0e");
+ SY(__NR_sync);
// __NR_kill 37
@@ -110,17 +149,17 @@ int main(void)
// __NR_setgid 46
- // __NR_getgid 47
- GO(__NR_getgid, "0 errors");
- syscall(__NR_getgid);
+ // __NR_getgid 47 --> sys_getgid16()
+ GO(__NR_getgid, "0e");
+ SY(__NR_getgid);
// __NR_signal 48
- // __NR_geteuid 49
- GO(__NR_geteuid, "0 errors");
- syscall(__NR_geteuid);
+ // __NR_geteuid 49 --> sys_geteuid16()
+ GO(__NR_geteuid, "0e");
+ SY(__NR_geteuid);
- // __NR_getegid 50
- GO(__NR_getegid, "0 errors");
- syscall(__NR_getegid);
+ // __NR_getegid 50 --> sys_getegid16()
+ GO(__NR_getegid, "0e");
+ SY(__NR_getegid);
// __NR_acct 51
@@ -125,5 +164,9 @@ int main(void)
// __NR_acct 51
+
// __NR_umount2 52
+ GO(__NR_umount2, "2s 1m");
+ SY(__NR_umount2, s0, i0);
+
// __NR_lock 53
// __NR_ioctl 54
@@ -138,15 +181,15 @@ int main(void)
// __NR_dup2 63
- // __NR_getppid 64
- GO(__NR_getppid, "0 errors");
- syscall(__NR_getppid);
+ // __NR_getppid 64 --> sys_getppid()
+ GO(__NR_getppid, "0e");
+ SY(__NR_getppid);
- // __NR_getpgrp 65
- GO(__NR_getpgrp, "0 errors");
- syscall(__NR_getpgrp);
+ // __NR_getpgrp 65 --> sys_getpgrp()
+ GO(__NR_getpgrp, "0e");
+ SY(__NR_getpgrp);
- // __NR_setsid 66
- GO(__NR_setsid, "0 errors");
- syscall(__NR_setsid);
+ // __NR_setsid 66 --> sys_setsid()
+ GO(__NR_setsid, "0e");
+ SY(__NR_setsid);
// __NR_sigaction 67
@@ -195,7 +238,7 @@ int main(void)
// __NR_iopl 110
- // __NR_vhangup 111
- GO(__NR_vhangup, "0 errors");
- syscall(__NR_vhangup);
+ // __NR_vhangup 111 --> sys_vhangup()
+ GO(__NR_vhangup, "0e");
+ SY(__NR_vhangup);
// __NR_idle 112
@@ -241,7 +284,7 @@ int main(void)
// __NR_mlockall 152
- // __NR_munlockall 153
- GO(__NR_munlockall, "0 errors");
- syscall(__NR_munlockall);
+ // __NR_munlockall 153 --> sys_munlockall()
+ GO(__NR_munlockall, "0e");
+ SY(__NR_munlockall);
// __NR_sched_setparam 154
@@ -291,19 +334,19 @@ int main(void)
// __NR_lchown32 198
- // __NR_getuid32 199
- GO(__NR_getuid32, "0 errors");
- syscall(__NR_getuid32);
+ // __NR_getuid32 199 --> sys_getuid()
+ GO(__NR_getuid32, "0e");
+ SY(__NR_getuid32);
- // __NR_getgid32 200
- GO(__NR_getgid32, "0 errors");
- syscall(__NR_getgid32);
+ // __NR_getgid32 200 --> sys_getgid()
+ GO(__NR_getgid32, "0e");
+ SY(__NR_getgid32);
- // __NR_geteuid32 201
- GO(__NR_geteuid32, "0 errors");
- syscall(__NR_geteuid32);
+ // __NR_geteuid32 201 --> sys_geteuid()
+ GO(__NR_geteuid32, "0e");
+ SY(__NR_geteuid32);
- // __NR_getegid32 202
- GO(__NR_getegid32, "0 errors");
- syscall(__NR_getegid32);
+ // __NR_getegid32 202 --> sys_getegid()
+ GO(__NR_getegid32, "0e");
+ SY(__NR_getegid32);
// __NR_setreuid32 203
@@ -317,5 +360,9 @@ int main(void)
// __NR_getresgid32 211
// __NR_chown32 212
- // __NR_setuid32 213
+
+ // __NR_setuid32 213 --> sys_setuid()
+ GO(__NR_setuid32, "1s 0m");
+ SY(__NR_setuid32, i0);
+
// __NR_setgid32 214
// __NR_setfsuid32 215
@@ -388,10 +435,10 @@ int main(void)
// __NR_sys_kexec_load 283
- GO(9999, "1 message");
- syscall(9999);
+ GO(9999, "1e");
+ SY(9999);
// __NR_exit 1 --> sys_exit()
- GO(__NR_exit, "1 scalar error");
- syscall(__NR_exit, i0);
+ GO(__NR_exit, "1s 0m");
+ SY(__NR_exit, i0);
assert(0);
--- valgrind/memcheck/tests/scalar.stderr.exp #1.6:1.7
@@ -1,4 +1,4 @@
-----------------------------------------------------
- 3: __NR_read 1+3 scalar errors
+ 3: __NR_read 1+3s 0m
-----------------------------------------------------
Syscall param (syscallno) contains uninitialised byte(s)
@@ -22,5 +22,5 @@
by 0x........: ...
-----------------------------------------------------
- 4: __NR_write 3 scalar errors, 1 memory error
+ 4: __NR_write 3S 1m
-----------------------------------------------------
@@ -46,5 +46,5 @@
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
- 5: __NR_open (2-args), 2 scalar errors, 1 memory error
+ 5: __NR_open (2-args) 2s 1m
-----------------------------------------------------
@@ -65,5 +65,5 @@
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
- 5: __NR_open (3-args), 1 scalar error
+ 5: __NR_open (3-args) 1s 0m
-----------------------------------------------------
@@ -73,8 +73,188 @@
by 0x........: ...
-----------------------------------------------------
- 20: __NR_getpid 0 errors
+ 6: __NR_close 1s 0m
+-----------------------------------------------------
+
+Syscall param close(fd) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+Warning: invalid file descriptor -1 in syscall close()
+-----------------------------------------------------
+ 7: __NR_waitpid 3s 1m
+-----------------------------------------------------
+
+Syscall param waitpid(pid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param waitpid(status) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param waitpid(options) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param waitpid(status) 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
+-----------------------------------------------------
+ 8: __NR_creat 2s 1m
+-----------------------------------------------------
+
+Syscall param creat(pathname) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param creat(mode) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param creat(pathname) 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
+-----------------------------------------------------
+ 9: __NR_link 2s 2m
+-----------------------------------------------------
+
+Syscall param link(oldpath) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param link(newpath) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param link(oldpath) 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
+
+Syscall param link(newpath) 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
+-----------------------------------------------------
+ 10: __NR_unlink 1s 1m
+-----------------------------------------------------
+
+Syscall param unlink(pathname) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param unlink(pathname) 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
+-----------------------------------------------------
+ 12: __NR_chdir 1s 1m
+-----------------------------------------------------
+
+Syscall param chdir(path) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param chdir(path) 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
+-----------------------------------------------------
+ 13: __NR_time 1s 1m
+-----------------------------------------------------
+
+Syscall param time(t) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param time(t) 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
+-----------------------------------------------------
+ 14: __NR_mknod 3S 1M
+-----------------------------------------------------
+
+Syscall param mknod(pathname) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param mknod(mode) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param mknod(dev) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param mknod(pathname) 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
+-----------------------------------------------------
+ 15: __NR_chmod 2S 1M
+-----------------------------------------------------
+
+Syscall param chmod(path) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param chmod(mode) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param chmod(path) 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
+-----------------------------------------------------
+ 19: __NR_lseek 3S 0M
+-----------------------------------------------------
+
+Syscall param lseek(fd) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param lseek(offset) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param lseek(whence) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+-----------------------------------------------------
+ 20: __NR_getpid 0S 0M
-----------------------------------------------------
-----------------------------------------------------
- 21: __NR_mount 4 scalar errors, 3 memory errors
+ 21: __NR_mount 5s 3m
-----------------------------------------------------
@@ -122,47 +302,99 @@
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-----------------------------------------------------
- 24: __NR_getuid 0 errors
+ 22: __NR_umount 1s 1m
-----------------------------------------------------
+
+Syscall param umount(path) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param umount(path) 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
-----------------------------------------------------
- 36: __NR_sync 0 errors
+ 23: __NR_setuid 1s 0m
-----------------------------------------------------
+
+More than 50 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+
+Syscall param setuid16(uid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
-----------------------------------------------------
- 47: __NR_getgid 0 errors
+ 24: __NR_getuid 0e
-----------------------------------------------------
-----------------------------------------------------
- 49: __NR_geteuid 0 errors
+ 36: __NR_sync 0e
-----------------------------------------------------
-----------------------------------------------------
- 50: __NR_getegid 0 errors
+ 47: __NR_getgid 0e
-----------------------------------------------------
-----------------------------------------------------
- 64: __NR_getppid 0 errors
+ 49: __NR_geteuid 0e
-----------------------------------------------------
-----------------------------------------------------
- 65: __NR_getpgrp 0 errors
+ 50: __NR_getegid 0e
-----------------------------------------------------
-----------------------------------------------------
- 66: __NR_setsid 0 errors
+ 52: __NR_umount2 2s 1m
-----------------------------------------------------
+
+Syscall param umount2(path) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param umount2(flags) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
+
+Syscall param umount2(path) 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
+-----------------------------------------------------
+ 64: __NR_getppid 0e
-----------------------------------------------------
-111: __NR_vhangup 0 errors
-----------------------------------------------------
+ 65: __NR_getpgrp 0e
-----------------------------------------------------
-153: __NR_munlockall 0 errors
-----------------------------------------------------
+ 66: __NR_setsid 0e
-----------------------------------------------------
-199: __NR_getuid32 0 errors
-----------------------------------------------------
+111: __NR_vhangup 0e
-----------------------------------------------------
-200: __NR_getgid32 0 errors
-----------------------------------------------------
+153: __NR_munlockall 0e
-----------------------------------------------------
-201: __NR_geteuid32 0 errors
-----------------------------------------------------
+199: __NR_getuid32 0e
-----------------------------------------------------
-202: __NR_getegid32 0 errors
-----------------------------------------------------
+200: __NR_getgid32 0e
+-----------------------------------------------------
+-----------------------------------------------------
+201: __NR_geteuid32 0e
+-----------------------------------------------------
+-----------------------------------------------------
+202: __NR_getegid32 0e
+-----------------------------------------------------
+-----------------------------------------------------
+213: __NR_setuid32 1s 0m
+-----------------------------------------------------
+
+Syscall param setuid(uid) contains uninitialised byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (...libc...)
+ by 0x........: ...
-----------------------------------------------------
-9999: 9999 1 message
+9999: 9999 1e
-----------------------------------------------------
WARNING: unhandled syscall: 9999
@@ -170,5 +402,5 @@
Read the file README_MISSING_SYSCALL_OR_IOCTL.
-----------------------------------------------------
- 1: __NR_exit 1 scalar error
+ 1: __NR_exit 1s 0m
-----------------------------------------------------
|