---------------------------------------------------------
  3:                SYS_read 3s 0m
---------------------------------------------------------
Syscall param read(fd) contains uninitialised byte(s)
   ...

Syscall param read(buf) contains uninitialised byte(s)
   ...

Syscall param read(count) contains uninitialised byte(s)
   ...

---------------------------------------------------------
  4:               SYS_write 3s 1m
---------------------------------------------------------
Syscall param write(fd) contains uninitialised byte(s)
   ...

Syscall param write(buf) contains uninitialised byte(s)
   ...

Syscall param write(count) contains uninitialised byte(s)
   ...

Syscall param write(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
  6:               SYS_close 1s 0m
---------------------------------------------------------
Syscall param close(fd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
  7:              SYS_linkat 5s 2m
---------------------------------------------------------
Syscall param linkat(fd1) contains uninitialised byte(s)
   ...

Syscall param linkat(path1) contains uninitialised byte(s)
   ...

Syscall param linkat(fd2) contains uninitialised byte(s)
   ...

Syscall param linkat(path2) contains uninitialised byte(s)
   ...

Syscall param linkat(flags) contains uninitialised byte(s)
   ...

Syscall param linkat(path1) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param linkat(path2) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 11:           SYS_symlinkat 3s 2m
---------------------------------------------------------
Syscall param symlinkat(path1) contains uninitialised byte(s)
   ...

Syscall param symlinkat(fd) contains uninitialised byte(s)
   ...

Syscall param symlinkat(path2) contains uninitialised byte(s)
   ...

Syscall param symlinkat(path1) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param symlinkat(path2) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 12:               SYS_chdir 1s 1m
---------------------------------------------------------
Syscall param chdir(path) contains uninitialised byte(s)
   ...

Syscall param chdir(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 13:                SYS_time 0s 0m
---------------------------------------------------------
---------------------------------------------------------
 17:                 SYS_brk 1s 0m
---------------------------------------------------------
Syscall param brk(end_data_segment) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 19:               SYS_lseek 3s 0m
---------------------------------------------------------
Syscall param lseek(fildes) contains uninitialised byte(s)
   ...

Syscall param lseek(offset) contains uninitialised byte(s)
   ...

Syscall param lseek(whence) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 20:              SYS_getpid 0s 0m
---------------------------------------------------------
---------------------------------------------------------
 21:               SYS_mount (4-arg, table variant) 4s 2m
---------------------------------------------------------
Syscall param mount(spec) contains uninitialised byte(s)
   ...

Syscall param mount(dir) contains uninitialised byte(s)
   ...

Syscall param mount(mflag) contains uninitialised byte(s)
   ...

Syscall param mount(fstype) contains uninitialised byte(s)
   ...

Syscall param mount(spec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dir) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 21:               SYS_mount (4-arg) 4s 3m
---------------------------------------------------------
Syscall param mount(spec) contains uninitialised byte(s)
   ...

Syscall param mount(dir) contains uninitialised byte(s)
   ...

Syscall param mount(mflag) contains uninitialised byte(s)
   ...

Syscall param mount(fstype) contains uninitialised byte(s)
   ...

Syscall param mount(spec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dir) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(fstype) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 21:               SYS_mount (6-arg) 6s 4m
---------------------------------------------------------
Syscall param mount(spec) contains uninitialised byte(s)
   ...

Syscall param mount(dir) contains uninitialised byte(s)
   ...

Syscall param mount(mflag) contains uninitialised byte(s)
   ...

Syscall param mount(fstype) contains uninitialised byte(s)
   ...

Syscall param mount(dataptr) contains uninitialised byte(s)
   ...

Syscall param mount(datalen) contains uninitialised byte(s)
   ...

Syscall param mount(spec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dir) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(fstype) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dataptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 21:               SYS_mount (8-arg) 8s 5m
---------------------------------------------------------
Syscall param mount(spec) contains uninitialised byte(s)
   ...

Syscall param mount(dir) contains uninitialised byte(s)
   ...

Syscall param mount(mflag) contains uninitialised byte(s)
   ...

Syscall param mount(fstype) contains uninitialised byte(s)
   ...

Syscall param mount(dataptr) contains uninitialised byte(s)
   ...

Syscall param mount(datalen) contains uninitialised byte(s)
   ...

Syscall param mount(optptr) contains uninitialised byte(s)
   ...

Syscall param mount(optlen) contains uninitialised byte(s)
   ...

Syscall param mount(spec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dir) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(fstype) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(dataptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mount(optptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 22:          SYS_readlinkat 4s 2m
---------------------------------------------------------
Syscall param readlinkat(dfd) contains uninitialised byte(s)
   ...

Syscall param readlinkat(path) contains uninitialised byte(s)
   ...

Syscall param readlinkat(buf) contains uninitialised byte(s)
   ...

Syscall param readlinkat(bufsiz) contains uninitialised byte(s)
   ...

Syscall param readlinkat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param readlinkat(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 23:              SYS_setuid 1s 0m
---------------------------------------------------------
Syscall param setuid(uid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 24:              SYS_getuid 0s 0m
---------------------------------------------------------
---------------------------------------------------------
 25:               SYS_stime 1s 0m
---------------------------------------------------------
Syscall param stime(time) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 27:               SYS_alarm 1s 0m
---------------------------------------------------------
Syscall param alarm(seconds) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 29:               SYS_pause ignore
---------------------------------------------------------
---------------------------------------------------------
 31:                SYS_stty 2s 1m
---------------------------------------------------------
Syscall param stty(fd) contains uninitialised byte(s)
   ...

Syscall param stty(tty) contains uninitialised byte(s)
   ...

Syscall param stty(tty) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 32:                SYS_gtty 2s 1m
---------------------------------------------------------
Syscall param gtty(fd) contains uninitialised byte(s)
   ...

Syscall param gtty(tty) contains uninitialised byte(s)
   ...

Syscall param gtty(tty) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 37:                SYS_kill 2s 0m
---------------------------------------------------------
Syscall param kill(pid) contains uninitialised byte(s)
   ...

Syscall param kill(signal) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 39:             SYS_pgrpsys (GETPGRP) 1s 0m
---------------------------------------------------------
Syscall param pgrpsys_getpgrp(flag) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 39:             SYS_pgrpsys (GETSID) 2s 0m
---------------------------------------------------------
Syscall param pgrpsys_getsid(flag) contains uninitialised byte(s)
   ...

Syscall param pgrpsys_getsid(pid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 39:             SYS_pgrpsys (GETPGID) 2s 0m
---------------------------------------------------------
Syscall param pgrpsys_getpgid(flag) contains uninitialised byte(s)
   ...

Syscall param pgrpsys_getpgid(pid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 42:                SYS_pipe ignore
---------------------------------------------------------
---------------------------------------------------------
 43:               SYS_times 1s 1m
---------------------------------------------------------
Syscall param times(buf) contains uninitialised byte(s)
   ...

Syscall param times(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 45:           SYS_faccessat 4s 1m
---------------------------------------------------------
Syscall param faccessat(fd) contains uninitialised byte(s)
   ...

Syscall param faccessat(path) contains uninitialised byte(s)
   ...

Syscall param faccessat(amode) contains uninitialised byte(s)
   ...

Syscall param faccessat(flag) contains uninitialised byte(s)
   ...

Syscall param faccessat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 46:              SYS_setgid 1s 0m
---------------------------------------------------------
Syscall param setgid(gid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 47:              SYS_getgid 0s 0m
---------------------------------------------------------
---------------------------------------------------------
 48:             SYS_mknodat 4s 1m
---------------------------------------------------------
Syscall param mknodat(fd) contains uninitialised byte(s)
   ...

Syscall param mknodat(fname) contains uninitialised byte(s)
   ...

Syscall param mknodat(fmode) contains uninitialised byte(s)
   ...

Syscall param mknodat(dev) contains uninitialised byte(s)
   ...

Syscall param mknodat(fname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 50:              SYS_sysi86 incoming
---------------------------------------------------------
---------------------------------------------------------
 52:              SYS_shmsys (SHMAT) 4s 0m
---------------------------------------------------------
Syscall param shmsys_shmat(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmat(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmat(shmaddr) contains uninitialised byte(s)
   ...


More than 100 errors detected.  Subsequent errors
will still be recorded, but in less detail than before.
Syscall param shmsys_shmat(shmflg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,SHM_LOCK) 3s 0m
---------------------------------------------------------
Syscall param shmsys_shmctl_lock(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_lock(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_lock(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,SHM_UNLOCK) 3s 0m
---------------------------------------------------------
Syscall param shmsys_shmctl_unlock(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_unlock(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_unlock(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_RMID) 3s 0m
---------------------------------------------------------
Syscall param shmsys_shmctl_rmid(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_rmid(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_rmid(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_SET) 4s 3m
---------------------------------------------------------
Syscall param shmsys_shmctl_set(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set(buf) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.uid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.gid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.mode) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_SET) 6s 0m
---------------------------------------------------------
Syscall param shmsys_shmctl_set(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.uid) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.gid) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param shmsys(shmctl, ipc_set, buf->shm_perm.mode) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_STAT) 4s 1m
---------------------------------------------------------
Syscall param shmsys_shmctl_stat(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat(buf) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_stat, buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_SET64) 4s 3m
---------------------------------------------------------
Syscall param shmsys_shmctl_set64(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set64(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set64(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set64(buf) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_uid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_gid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_mode) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_SET64) 6s 0m
---------------------------------------------------------
Syscall param shmsys_shmctl_set64(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set64(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_set64(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_uid) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_gid) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param shmsys(shmctl, ipc_set64, buf->shmx_perm.ipcx_mode) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

---------------------------------------------------------
 52:              SYS_shmsys (SHMCTL,IPC_STAT64) 4s 1m
---------------------------------------------------------
Syscall param shmsys_shmctl_stat64(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat64(shmid) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat64(cmd) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmctl_stat64(buf) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmctl, ipc_stat64, buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 52:              SYS_shmsys (SHMDT) 2s 0m
---------------------------------------------------------
Syscall param shmsys_shmdt(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmdt(shmaddr) contains uninitialised byte(s)
   ...

Warning: client syscall shmdt tried to modify addresses 0x........-0x........
---------------------------------------------------------
 52:              SYS_shmsys (SHMGET) 4s 0m
---------------------------------------------------------
Syscall param shmsys_shmget(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmget(key) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmget(size) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmget(shmflg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 52:              SYS_shmsys (SHMIDS) 4s 2m
---------------------------------------------------------
Syscall param shmsys_shmids(opcode) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmids(buf) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmids(nids) contains uninitialised byte(s)
   ...

Syscall param shmsys_shmids(pnids) contains uninitialised byte(s)
   ...

Syscall param shmsys(shmids, buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param shmsys(shmids, pnids) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,IPC_STAT) 5s 1m
---------------------------------------------------------
Syscall param semsys_semctl_stat(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat(arg) contains uninitialised byte(s)
   ...

Syscall param semctl(IPC_STAT, arg.buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,IPC_SET) 5s 1m
---------------------------------------------------------
Syscall param semsys_semctl_set(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set(arg) contains uninitialised byte(s)
   ...

Syscall param semctl(IPC_SET, arg.buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,IPC_STAT64) 5s 1m
---------------------------------------------------------
Syscall param semsys_semctl_stat64(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat64(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat64(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat64(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_stat64(arg) contains uninitialised byte(s)
   ...

Syscall param semctl(IPC_STAT, arg.buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,IPC_SET64) 5s 1m
---------------------------------------------------------
Syscall param semsys_semctl_set64(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set64(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set64(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set64(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_set64(arg) contains uninitialised byte(s)
   ...

Syscall param semctl(IPC_SET, arg.buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,IPC_RMID) 3s 0m
---------------------------------------------------------
Syscall param semsys_semctl_rmid(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_rmid(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_rmid(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,GETALL) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_getall(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getall(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getall(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getall(arg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,SETALL) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_setall(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setall(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setall(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setall(arg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,GETVAL) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_getval(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getval(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getval(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getval(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,SETVAL) 5s 0m
---------------------------------------------------------
Syscall param semsys_semctl_setval(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setval(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setval(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setval(cmd) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_setval(arg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,GETPID) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_getpid(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getpid(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getpid(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getpid(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,GETNCNT) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_getncnt(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getncnt(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getncnt(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getncnt(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMCTL,GETZCNT) 4s 0m
---------------------------------------------------------
Syscall param semsys_semctl_getzcnt(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getzcnt(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getzcnt(semnum) contains uninitialised byte(s)
   ...

Syscall param semsys_semctl_getzcnt(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMGET) 4s 0m
---------------------------------------------------------
Syscall param semsys_semget(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semget(key) contains uninitialised byte(s)
   ...

Syscall param semsys_semget(nsems) contains uninitialised byte(s)
   ...

Syscall param semsys_semget(semflg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 53:              SYS_semsys (SEMOP) 4s 1m
---------------------------------------------------------
Syscall param semsys_semop(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semop(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semop(sops) contains uninitialised byte(s)
   ...

Syscall param semsys_semop(nsops) contains uninitialised byte(s)
   ...

Syscall param semop(sops) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMIDS) 4s 2m
---------------------------------------------------------
Syscall param semsys_semids(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semids(buf) contains uninitialised byte(s)
   ...

Syscall param semsys_semids(nids) contains uninitialised byte(s)
   ...

Syscall param semsys_semids(pnids) contains uninitialised byte(s)
   ...

Syscall param semsys(semids, buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param semsys(semids, pnids) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 53:              SYS_semsys (SEMTIMEDOP) 5s 2m
---------------------------------------------------------
Syscall param semsys_semtimedop(opcode) contains uninitialised byte(s)
   ...

Syscall param semsys_semtimedop(semid) contains uninitialised byte(s)
   ...

Syscall param semsys_semtimedop(sops) contains uninitialised byte(s)
   ...

Syscall param semsys_semtimedop(nsops) contains uninitialised byte(s)
   ...

Syscall param semsys_semtimedop(timeout) contains uninitialised byte(s)
   ...

Syscall param semtimedop(sops) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param semtimedop(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 54:               SYS_ioctl 3s 1m
---------------------------------------------------------
Syscall param ioctl(fd) contains uninitialised byte(s)
   ...

Syscall param ioctl(request) contains uninitialised byte(s)
   ...

Syscall param ioctl(arg) contains uninitialised byte(s)
   ...

Syscall param ioctl(TCGETS) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 56:            SYS_fchownat 5s 1m
---------------------------------------------------------
Syscall param fchownat(fd) contains uninitialised byte(s)
   ...

Syscall param fchownat(path) contains uninitialised byte(s)
   ...

Syscall param fchownat(owner) contains uninitialised byte(s)
   ...

Syscall param fchownat(group) contains uninitialised byte(s)
   ...

Syscall param fchownat(flag) contains uninitialised byte(s)
   ...

Syscall param fchownat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 58:              SYS_fdsync 2s 0m
---------------------------------------------------------
Syscall param fdsync(fd) contains uninitialised byte(s)
   ...

Syscall param fdsync(flag) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 59:              SYS_execve 3s 1m
---------------------------------------------------------
Syscall param execve(file) contains uninitialised byte(s)
   ...

Syscall param execve(argv) contains uninitialised byte(s)
   ...

Syscall param execve(envp) contains uninitialised byte(s)
   ...

Syscall param execve(filename) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 60:               SYS_umask 1s 0m
---------------------------------------------------------
Syscall param umask(mask) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 61:              SYS_chroot 1s 1m
---------------------------------------------------------
Syscall param chroot(path) contains uninitialised byte(s)
   ...

Syscall param chroot(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 62:               SYS_fcntl (GETFD) 2s 0m
---------------------------------------------------------
Syscall param fcntl(fildes) contains uninitialised byte(s)
   ...

Syscall param fcntl(cmd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 62:               SYS_fcntl (DUPFD) 3s 0m
---------------------------------------------------------
Syscall param fcntl(fildes) contains uninitialised byte(s)
   ...

Syscall param fcntl(cmd) contains uninitialised byte(s)
   ...

Syscall param fcntl(arg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 62:               SYS_fcntl (DUPFD_CLOEXEC) 3s 0m
---------------------------------------------------------
Syscall param fcntl(fildes) contains uninitialised byte(s)
   ...

Syscall param fcntl(cmd) contains uninitialised byte(s)
   ...

Syscall param fcntl(arg) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 62:               SYS_fcntl (GETLK) 3s 5m
---------------------------------------------------------
Syscall param fcntl(fildes) contains uninitialised byte(s)
   ...

Syscall param fcntl(cmd) contains uninitialised byte(s)
   ...

Syscall param fcntl(lock) contains uninitialised byte(s)
   ...

Syscall param fcntl(lock->l_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fcntl(lock->l_whence) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fcntl(lock->l_start) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fcntl(lock->l_len) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fcntl(lock) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 64:            SYS_renameat 4s 2m
---------------------------------------------------------
Syscall param renameat(fromfd) contains uninitialised byte(s)
   ...

Syscall param renameat(old) contains uninitialised byte(s)
   ...

Syscall param renameat(tofd) contains uninitialised byte(s)
   ...

Syscall param renameat(new) contains uninitialised byte(s)
   ...

Syscall param renameat(old) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param renameat(new) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 xx:            SYS_unlinkat 3s 1m
---------------------------------------------------------
Syscall param unlinkat(dirfd) contains uninitialised byte(s)
   ...

Syscall param unlinkat(pathname) contains uninitialised byte(s)
   ...

Syscall param unlinkat(flags) contains uninitialised byte(s)
   ...

Syscall param unlinkat(pathname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 66:             SYS_fstatat 4s 2m
---------------------------------------------------------
Syscall param fstatat(fildes) contains uninitialised byte(s)
   ...

Syscall param fstatat(path) contains uninitialised byte(s)
   ...

Syscall param fstatat(buf) contains uninitialised byte(s)
   ...

Syscall param fstatat(flag) contains uninitialised byte(s)
   ...

Syscall param fstatat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param fstatat(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 68:              SYS_openat (3-args) 3s 1m
---------------------------------------------------------
Syscall param openat(fildes) contains uninitialised byte(s)
   ...

Syscall param openat(filename) contains uninitialised byte(s)
   ...

Syscall param openat(flags) contains uninitialised byte(s)
   ...

Syscall param openat(filename) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 68:              SYS_openat (4-args) 4s 1m
---------------------------------------------------------
Syscall param openat(fildes) contains uninitialised byte(s)
   ...

Syscall param openat(filename) contains uninitialised byte(s)
   ...

Syscall param openat(flags) contains uninitialised byte(s)
   ...

Syscall param openat(mode) contains uninitialised byte(s)
   ...

Syscall param openat(filename) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 70:             SYS_tasksys (settaskid) 3s 0m
---------------------------------------------------------
Syscall param tasksys_settaskid(code) contains uninitialised byte(s)
   ...

Syscall param tasksys_settaskid(projid) contains uninitialised byte(s)
   ...

Syscall param tasksys_settaskid(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 70:             SYS_tasksys (gettaskid) 1s 0m
---------------------------------------------------------
Syscall param tasksys_gettaskid(code) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 70:             SYS_tasksys (getprojid) 1s 0m
---------------------------------------------------------
Syscall param tasksys_getprojid(code) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 70:             SYS_tasksys (projlist) 3s 1m
---------------------------------------------------------
Syscall param tasksys_projlist(code) contains uninitialised byte(s)
   ...

Syscall param tasksys_projlist(idbuf) contains uninitialised byte(s)
   ...

Syscall param tasksys_projlist(idbufsz) contains uninitialised byte(s)
   ...

Syscall param tasksys(idbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 73:        SYS_getpagesizes 3s 1m
---------------------------------------------------------
Syscall param getpagesizes(legacy) contains uninitialised byte(s)
   ...

Syscall param getpagesizes(buf) contains uninitialised byte(s)
   ...

Syscall param getpagesizes(nelem) contains uninitialised byte(s)
   ...

Syscall param getpagesizes(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 77:            SYS_lwp_park ignore
---------------------------------------------------------
---------------------------------------------------------
 78:           SYS_sendfilev (SENDFILEV) 5s 2m
---------------------------------------------------------
Syscall param sendfilev(opcode) contains uninitialised byte(s)
   ...

Syscall param sendfilev(fd) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) contains uninitialised byte(s)
   ...

Syscall param sendfilev(sfvcnt) contains uninitialised byte(s)
   ...

Syscall param sendfilev(xferred) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sendfilev(xferred) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 78:           SYS_sendfilev (SENDFILEV) 4s 2m
---------------------------------------------------------
Syscall param sendfilev(opcode) contains uninitialised byte(s)
   ...

Syscall param sendfilev(fd) contains uninitialised byte(s)
   ...

Syscall param sendfilev(xferred) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param sendfilev(xferred) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sendfilev(vec[0].sfv_off points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 78:           SYS_sendfilev (SENDFILEV64) 5s 2m
---------------------------------------------------------
Syscall param sendfilev(opcode) contains uninitialised byte(s)
   ...

Syscall param sendfilev(fd) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) contains uninitialised byte(s)
   ...

Syscall param sendfilev(sfvcnt) contains uninitialised byte(s)
   ...

Syscall param sendfilev(xferred) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sendfilev(xferred) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 78:           SYS_sendfilev (SENDFILEV64) 4s 2m
---------------------------------------------------------
Syscall param sendfilev(opcode) contains uninitialised byte(s)
   ...

Syscall param sendfilev(fd) contains uninitialised byte(s)
   ...

Syscall param sendfilev(xferred) contains uninitialised byte(s)
   ...

Syscall param sendfilev(vec) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param sendfilev(xferred) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sendfilev(vec[0].sfv_off points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 81:            SYS_getdents 3s 1m
---------------------------------------------------------
Syscall param getdents(fd) contains uninitialised byte(s)
   ...

Syscall param getdents(dirp) contains uninitialised byte(s)
   ...

Syscall param getdents(count) contains uninitialised byte(s)
   ...

Syscall param getdents(dirp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_SETPPRIV) 5s 1m
---------------------------------------------------------
Syscall param privsys_setppriv(code) contains uninitialised byte(s)
   ...

Syscall param privsys_setppriv(op) contains uninitialised byte(s)
   ...

Syscall param privsys_setppriv(type) contains uninitialised byte(s)
   ...

Syscall param privsys_setppriv(pset) contains uninitialised byte(s)
   ...

Syscall param privsys_setppriv(bufsize) contains uninitialised byte(s)
   ...

Syscall param privsys(pset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_GETPPRIV) 5s 1m
---------------------------------------------------------
Syscall param privsys_getppriv(code) contains uninitialised byte(s)
   ...

Syscall param privsys_getppriv(op) contains uninitialised byte(s)
   ...

Syscall param privsys_getppriv(type) contains uninitialised byte(s)
   ...

Syscall param privsys_getppriv(pset) contains uninitialised byte(s)
   ...

Syscall param privsys_getppriv(bufsize) contains uninitialised byte(s)
   ...

Syscall param privsys(pset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_GETIMPLINFO) 5s 1m
---------------------------------------------------------
Syscall param privsys_getprivinfo(code) contains uninitialised byte(s)
   ...

Syscall param privsys_getprivinfo(op) contains uninitialised byte(s)
   ...

Syscall param privsys_getprivinfo(type) contains uninitialised byte(s)
   ...

Syscall param privsys_getprivinfo(buf) contains uninitialised byte(s)
   ...

Syscall param privsys_getprivinfo(bufsize) contains uninitialised byte(s)
   ...

Syscall param privsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_SETPFLAGS) 3s 0m
---------------------------------------------------------
Syscall param privsys_setpflags(code) contains uninitialised byte(s)
   ...

Syscall param privsys_setpflags(flag) contains uninitialised byte(s)
   ...

Syscall param privsys_setpflags(val) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_GETPFLAGS) 2s 0m
---------------------------------------------------------
Syscall param privsys_setpflags(code) contains uninitialised byte(s)
   ...

Syscall param privsys_setpflags(flag) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_ISSETUGID) 1s 0m
---------------------------------------------------------
Syscall param privsys_issetugid(code) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_PFEXEC_REG) 2s 0m
---------------------------------------------------------
Syscall param privsys_register_pfexec(code) contains uninitialised byte(s)
   ...

Syscall param privsys_register_pfexec(did) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 82:             SYS_privsys (PRIVSYS_PFEXEC_UNREG) 2s 0m
---------------------------------------------------------
Syscall param privsys_unregister_pfexec(code) contains uninitialised byte(s)
   ...

Syscall param privsys_unregister_pfexec(did) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 83:            SYS_ucredsys (UCREDSYS_UCREDGET) 3s 1m
---------------------------------------------------------
Syscall param ucredsys_ucredget(code) contains uninitialised byte(s)
   ...

Syscall param ucredsys_ucredget(pid) contains uninitialised byte(s)
   ...

Syscall param ucredsys_ucredget(buf) contains uninitialised byte(s)
   ...

Syscall param ucredsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 83:            SYS_ucredsys (UCREDSYS_GETPEERUCRED) 3s 1m
---------------------------------------------------------
Syscall param ucredsys_getpeerucred(code) contains uninitialised byte(s)
   ...

Syscall param ucredsys_getpeerucred(fd) contains uninitialised byte(s)
   ...

Syscall param ucredsys_getpeerucred(buf) contains uninitialised byte(s)
   ...

Syscall param ucredsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 84:               SYS_sysfs (GETFSIND) 2s 1m
---------------------------------------------------------
Syscall param sysfs_getfsind(opcode) contains uninitialised byte(s)
   ...

Syscall param sysfs_getfsind(fsname) contains uninitialised byte(s)
   ...

Syscall param sysfs(fsname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 84:               SYS_sysfs (GETFSTYP) 3s 1m
---------------------------------------------------------
Syscall param sysfs_getfstyp(opcode) contains uninitialised byte(s)
   ...

Syscall param sysfs_getfstyp(fs_index) contains uninitialised byte(s)
   ...

Syscall param sysfs_getfstyp(buf) contains uninitialised byte(s)
   ...

Syscall param sysfs(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 84:               SYS_sysfs (GETNFSTYP) 1s 0m
---------------------------------------------------------
Syscall param sysfs_getnfstyp(opcode) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 85:              SYS_getmsg 4s 1m
---------------------------------------------------------
Syscall param getmsg(fildes) contains uninitialised byte(s)
   ...

Syscall param getmsg(ctlptr) contains uninitialised byte(s)
   ...

Syscall param getmsg(dataptr) contains uninitialised byte(s)
   ...

Syscall param getmsg(flagsp) contains uninitialised byte(s)
   ...

Syscall param getmsg(flagsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 86:              SYS_putmsg 4s 0m
---------------------------------------------------------
Syscall param putmsg(fildes) contains uninitialised byte(s)
   ...

Syscall param putmsg(ctrlptr) contains uninitialised byte(s)
   ...

Syscall param putmsg(dataptr) contains uninitialised byte(s)
   ...

Syscall param putmsg(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
 91:           SYS_setgroups 2s 1m
---------------------------------------------------------
Syscall param setgroups(size) contains uninitialised byte(s)
   ...

Syscall param setgroups(list) contains uninitialised byte(s)
   ...

Syscall param setgroups(list) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 92:           SYS_getgroups 2s 1m
---------------------------------------------------------
Syscall param getgroups(size) contains uninitialised byte(s)
   ...

Syscall param getgroups(list) contains uninitialised byte(s)
   ...

Syscall param getgroups(list) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 95:         SYS_sigprocmask 3s 2m
---------------------------------------------------------
Syscall param sigprocmask(how) contains uninitialised byte(s)
   ...

Syscall param sigprocmask(set) contains uninitialised byte(s)
   ...

Syscall param sigprocmask(oset) contains uninitialised byte(s)
   ...

Syscall param sigprocmask(set) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigprocmask(oset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 96:          SYS_sigsuspend 1s 1m
---------------------------------------------------------
Syscall param sigsuspend(set) contains uninitialised byte(s)
   ...

Syscall param sigsuspend(set) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 97:         SYS_sigaltstack 2s 2m
---------------------------------------------------------
Syscall param sigaltstack(ss) contains uninitialised byte(s)
   ...

Syscall param sigaltstack(oss) contains uninitialised byte(s)
   ...

Syscall param sigaltstack(ss) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigaltstack(oss) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 98:           SYS_sigaction 3s 4m
---------------------------------------------------------
Syscall param sigaction(signal) contains uninitialised byte(s)
   ...

Syscall param sigaction(act) contains uninitialised byte(s)
   ...

Syscall param sigaction(oact) contains uninitialised byte(s)
   ...

Syscall param sigaction(act->sa_flags) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigaction(act->sa_handler) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigaction(act->sa_mask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigaction(oact) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
 99:          SYS_sigpending 2s 1m
---------------------------------------------------------
Syscall param sigpending(flag) contains uninitialised byte(s)
   ...

Syscall param sigpending(setp) contains uninitialised byte(s)
   ...

Syscall param sigpending(setp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
100:             SYS_context (GETCONTEXT) 2s 1m
---------------------------------------------------------
Syscall param getsetcontext_getcontext(flag) contains uninitialised byte(s)
   ...

Syscall param getsetcontext_getcontext(ucp) contains uninitialised byte(s)
   ...

Syscall param getsetcontext(ucp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
100:             SYS_context (SETCONTEXT) 2s 0m
---------------------------------------------------------
Syscall param getsetcontext_setcontext(flag) contains uninitialised byte(s)
   ...

Syscall param getsetcontext_setcontext(ucp) contains uninitialised byte(s)
   ...

---------------------------------------------------------
100:             SYS_context (GETUSTACK) 2s 1m
---------------------------------------------------------
Syscall param getsetcontext_getustack(flag) contains uninitialised byte(s)
   ...

Syscall param getsetcontext_getustack(spp) contains uninitialised byte(s)
   ...

Syscall param getsetcontext(spp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
100:             SYS_context (SETUSTACK) 2s 1m
---------------------------------------------------------
Syscall param getsetcontext_setustack(flag) contains uninitialised byte(s)
   ...

Syscall param getsetcontext_setustack(sp) contains uninitialised byte(s)
   ...

Syscall param getsetcontext_setustack(sp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
101:            SYS_fchmodat 4s 1m
---------------------------------------------------------
Syscall param fchmodat(fd) contains uninitialised byte(s)
   ...

Syscall param fchmodat(path) contains uninitialised byte(s)
   ...

Syscall param fchmodat(mode) contains uninitialised byte(s)
   ...

Syscall param fchmodat(flag) contains uninitialised byte(s)
   ...

Syscall param fchmodat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
102:             SYS_mkdirat 3s 1m
---------------------------------------------------------
Syscall param mkdirat(fd) contains uninitialised byte(s)
   ...

Syscall param mkdirat(path) contains uninitialised byte(s)
   ...

Syscall param mkdirat(mode) contains uninitialised byte(s)
   ...

Syscall param mkdirat(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
103:             SYS_statvfs 2s 2m
---------------------------------------------------------
Syscall param statvfs(path) contains uninitialised byte(s)
   ...

Syscall param statvfs(buf) contains uninitialised byte(s)
   ...

Syscall param statvfs(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param statvfs(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
103:             SYS_statvfs 4s 0m
---------------------------------------------------------
Syscall param statvfs(path) contains uninitialised byte(s)
   ...

Syscall param statvfs(buf) contains uninitialised byte(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

---------------------------------------------------------
104:            SYS_fstatvfs 2s 1m
---------------------------------------------------------
Syscall param fstatvfs(fd) contains uninitialised byte(s)
   ...

Syscall param fstatvfs(buf) contains uninitialised byte(s)
   ...

Syscall param fstatvfs(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
106:              SYS_nfssys (NFS_REVAUTH) 2s 1m
---------------------------------------------------------
Syscall param nfssys_nfs_revauth(opcode) contains uninitialised byte(s)
   ...

Syscall param nfssys_nfs_revauth(args) contains uninitialised byte(s)
   ...

Syscall param nfssys(arg) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
107:              SYS_waitid 4s 1m
---------------------------------------------------------
Syscall param waitid(idtype) contains uninitialised byte(s)
   ...

Syscall param waitid(id) contains uninitialised byte(s)
   ...

Syscall param waitid(infop) contains uninitialised byte(s)
   ...

Syscall param waitid(options) contains uninitialised byte(s)
   ...

Syscall param waitid(infop) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
108:          SYS_sigsendsys 2s 1m
---------------------------------------------------------
Syscall param sigsendsys(psp) contains uninitialised byte(s)
   ...

Syscall param sigsendsys(signal) contains uninitialised byte(s)
   ...

Syscall param sigsendsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
111:           SYS_sigresend 3s 2m
---------------------------------------------------------
Syscall param sigresend(signal) contains uninitialised byte(s)
   ...

Syscall param sigresend(siginfo) contains uninitialised byte(s)
   ...

Syscall param sigresend(mask) contains uninitialised byte(s)
   ...

Syscall param sigresend(siginfo) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigresend(mask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (GETCID) 6s 0m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(clname) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

---------------------------------------------------------
112:         SYS_priocntlsys (GETCLINFO) 6s 0m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cid) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

---------------------------------------------------------
112:         SYS_priocntlsys (SETPARMS) 5s 2m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(parms) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (GETPARMS) 5s 2m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(parms) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (GETPRIRANGE) 5s 2m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(pri) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (DONICE) 5s 2m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(op) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (SETXPARMS) 5s 3m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(clname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(vaparmscnt) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (GETXPARMS) 5s 3m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(clname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(vaparmscnt) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (SETDFLCL) 5s 1m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(clname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (GETDFLCL) 5s 1m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(clname) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
112:         SYS_priocntlsys (DOPRIO) 5s 2m
---------------------------------------------------------
Syscall param priocntlsys(pc_version) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(cmd) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(arg2) contains uninitialised byte(s)
   ...

Syscall param priocntlsys(psp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param priocntlsys(op) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
113:            SYS_pathconf 2s 1m
---------------------------------------------------------
Syscall param pathconf(path) contains uninitialised byte(s)
   ...

Syscall param pathconf(name) contains uninitialised byte(s)
   ...

Syscall param pathconf(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
115:                SYS_mmap 6s 0m
---------------------------------------------------------
Syscall param mmap(start) contains uninitialised byte(s)
   ...

Syscall param mmap(length) contains uninitialised byte(s)
   ...

Syscall param mmap(prot) contains uninitialised byte(s)
   ...

Syscall param mmap(flags) contains uninitialised byte(s)
   ...

Syscall param mmap(fd) contains uninitialised byte(s)
   ...

Syscall param mmap(offset) contains uninitialised byte(s)
   ...

---------------------------------------------------------
116:            SYS_mprotect 3s 0m
---------------------------------------------------------
Syscall param mprotect(addr) contains uninitialised byte(s)
   ...

Syscall param mprotect(len) contains uninitialised byte(s)
   ...

Syscall param mprotect(prot) contains uninitialised byte(s)
   ...

---------------------------------------------------------
117:              SYS_munmap 2s 0m
---------------------------------------------------------
Syscall param munmap(start) contains uninitialised byte(s)
   ...

Syscall param munmap(length) contains uninitialised byte(s)
   ...

---------------------------------------------------------
120:              SYS_fchdir 1s 0m
---------------------------------------------------------
Syscall param fchdir(fd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
121:               SYS_readv 3s 1m
---------------------------------------------------------
Syscall param readv(fd) contains uninitialised byte(s)
   ...

Syscall param readv(vector) contains uninitialised byte(s)
   ...

Syscall param readv(count) contains uninitialised byte(s)
   ...

Syscall param readv(vector) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
122:              SYS_writev 3s 1m
---------------------------------------------------------
Syscall param writev(fd) contains uninitialised byte(s)
   ...

Syscall param writev(vector) contains uninitialised byte(s)
   ...

Syscall param writev(count) contains uninitialised byte(s)
   ...

Syscall param writev(vector) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
127:             SYS_mmapobj 5s 2m
---------------------------------------------------------
Syscall param mmapobj(fd) contains uninitialised byte(s)
   ...

Syscall param mmapobj(flags) contains uninitialised byte(s)
   ...

Syscall param mmapobj(storage) contains uninitialised byte(s)
   ...

Syscall param mmapobj(elements) contains uninitialised byte(s)
   ...

Syscall param mmapobj(arg) contains uninitialised byte(s)
   ...

Syscall param mmapobj(elements) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param mmapobj(arg) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
128:           SYS_setrlimit 2s 1m
---------------------------------------------------------
Syscall param setrlimit(resource) contains uninitialised byte(s)
   ...

Syscall param setrlimit(rlim) contains uninitialised byte(s)
   ...

Syscall param setrlimit(rlim) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
129:           SYS_getrlimit 2s 1m
---------------------------------------------------------
Syscall param getrlimit(resource) contains uninitialised byte(s)
   ...

Syscall param getrlimit(rlim) contains uninitialised byte(s)
   ...

Syscall param getrlimit(rlim) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
131:             SYS_memcntl 6s 1m
---------------------------------------------------------
Syscall param memcntl(addr) contains uninitialised byte(s)
   ...

Syscall param memcntl(len) contains uninitialised byte(s)
   ...

Syscall param memcntl(cmd) contains uninitialised byte(s)
   ...

Syscall param memcntl(arg) contains uninitialised byte(s)
   ...

Syscall param memcntl(attr) contains uninitialised byte(s)
   ...

Syscall param memcntl(mask) contains uninitialised byte(s)
   ...

Syscall param memcntl(arg) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
132:             SYS_getpmsg 5s 2m
---------------------------------------------------------
Syscall param getpmsg(fildes) contains uninitialised byte(s)
   ...

Syscall param getpmsg(ctlptr) contains uninitialised byte(s)
   ...

Syscall param getpmsg(dataptr) contains uninitialised byte(s)
   ...

Syscall param getpmsg(bandp) contains uninitialised byte(s)
   ...

Syscall param getpmsg(flagsp) contains uninitialised byte(s)
   ...

Syscall param getpmsg(bandp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param getpmsg(flagsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
133:             SYS_putpmsg 5s 0m
---------------------------------------------------------
Syscall param putpmsg(fildes) contains uninitialised byte(s)
   ...

Syscall param putpmsg(ctrlptr) contains uninitialised byte(s)
   ...

Syscall param putpmsg(dataptr) contains uninitialised byte(s)
   ...

Syscall param putpmsg(band) contains uninitialised byte(s)
   ...

Syscall param putpmsg(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
135:               SYS_uname 1s 1m
---------------------------------------------------------
Syscall param uname(name) contains uninitialised byte(s)
   ...

Syscall param uname(name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
135:               SYS_uname 6s 0m
---------------------------------------------------------
Syscall param uname(name) contains uninitialised byte(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

Conditional jump or move depends on uninitialised value(s)
   ...

---------------------------------------------------------
136:             SYS_setegid 1s 0m
---------------------------------------------------------
Syscall param setegid(egid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
137:           SYS_sysconfig 1s 0m
---------------------------------------------------------
Syscall param sysconf(name) contains uninitialised byte(s)
   ...

---------------------------------------------------------
139:          SYS_systeminfo 3s 1m
---------------------------------------------------------
Syscall param sysinfo(command) contains uninitialised byte(s)
   ...

Syscall param sysinfo(buf) contains uninitialised byte(s)
   ...

Syscall param sysinfo(count) contains uninitialised byte(s)
   ...

Syscall param sysinfo(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
141:             SYS_seteuid 1s 0m
---------------------------------------------------------
Syscall param seteuid(euid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
142:             SYS_forksys 2s 0m
---------------------------------------------------------
Syscall param forksys(subcode) contains uninitialised byte(s)
   ...

Syscall param forksys(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
144:        SYS_sigtimedwait 3s 3m
---------------------------------------------------------
Syscall param sigtimedwait(set) contains uninitialised byte(s)
   ...

Syscall param sigtimedwait(info) contains uninitialised byte(s)
   ...

Syscall param sigtimedwait(timeout) contains uninitialised byte(s)
   ...

Syscall param sigtimewait(set) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigtimedwait(info) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param sigtimedwait(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
146:               SYS_yield 0s 0m
---------------------------------------------------------
---------------------------------------------------------
148:       SYS_lwp_sema_post 1s 3m
---------------------------------------------------------
Syscall param lwp_sema_post(sema) contains uninitialised byte(s)
   ...

Syscall param lwp_sema_post(sema->type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_sema_post(sema->count) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_sema_post(sema->waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
150:          SYS_lwp_detach 1s 0m
---------------------------------------------------------
Syscall param lwp_detach(lwpid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
152:              SYS_modctl (MODLOAD) 4s 1m
---------------------------------------------------------
Syscall param modctl_modload(cmd) contains uninitialised byte(s)
   ...

Syscall param modctl_modload(use_path) contains uninitialised byte(s)
   ...

Syscall param modctl_modload(filename) contains uninitialised byte(s)
   ...

Syscall param modctl_modload(rvp) contains uninitialised byte(s)
   ...

Syscall param modctl(filaneme) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param modctl(rvp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
152:              SYS_modctl (MODUNLOAD) 2s 0m
---------------------------------------------------------
Syscall param modctl_modunload(cmd) contains uninitialised byte(s)
   ...

Syscall param modctl_modunload(id) contains uninitialised byte(s)
   ...

---------------------------------------------------------
152:              SYS_modctl (MODINFO) 3s 4m
---------------------------------------------------------
Syscall param modctl_modinfo(cmd) contains uninitialised byte(s)
   ...

Syscall param modctl_modinfo(id) contains uninitialised byte(s)
   ...

Syscall param modctl_modinfo(umodi) contains uninitialised byte(s)
   ...

Syscall param modctl(umodi->mi_info) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param modctl(umodi->mi_id) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param modctl(umodi->mi_nextid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param modctl(umodi) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
153:             SYS_fchroot 1s 0m
---------------------------------------------------------
Syscall param fchroot(fd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
156:        SYS_gettimeofday 1s 1m
---------------------------------------------------------
Syscall param gettimeofday(tp) contains uninitialised byte(s)
   ...

Syscall param gettimeofday(tp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
157:           SYS_getitimer 2s 2m
---------------------------------------------------------
Syscall param getitimer(which) contains uninitialised byte(s)
   ...

Syscall param getitimer(value) contains uninitialised byte(s)
   ...

Syscall param getitimer(&value->it_interval) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param getitimer(&value->it_value) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
158:           SYS_setitimer 3s 4m
---------------------------------------------------------
Syscall param setitimer(which) contains uninitialised byte(s)
   ...

Syscall param setitimer(value) contains uninitialised byte(s)
   ...

Syscall param setitimer(ovalue) contains uninitialised byte(s)
   ...

Syscall param setitimer(&value->it_interval) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param setitimer(&value->it_value) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param setitimer(&ovalue->it_interval) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param setitimer(&ovalue->it_value) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
159:          SYS_lwp_create 3s 1m
---------------------------------------------------------
Syscall param lwp_create(ucp) contains uninitialised byte(s)
   ...

Syscall param lwp_create(flags) contains uninitialised byte(s)
   ...

Syscall param lwp_create(new_lwp) contains uninitialised byte(s)
   ...

Syscall param lwp_create(new_lwp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
160:            SYS_lwp_exit ignore
---------------------------------------------------------
---------------------------------------------------------
161:         SYS_lwp_suspend 1s 0m
---------------------------------------------------------
Syscall param lwp_suspend(lwpid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
162:        SYS_lwp_continue 1s 0m
---------------------------------------------------------
Syscall param lwp_continue(target_lwp) contains uninitialised byte(s)
   ...

---------------------------------------------------------
164:            SYS_lwp_self 0s 0m
---------------------------------------------------------
---------------------------------------------------------
165:         SYS_lwp_sigmask 5s 0m
---------------------------------------------------------
Syscall param lwp_sigmask(how) contains uninitialised byte(s)
   ...

Syscall param lwp_sigmask(bits0) contains uninitialised byte(s)
   ...

Syscall param lwp_sigmask(bits1) contains uninitialised byte(s)
   ...

Syscall param lwp_sigmask(bits2) contains uninitialised byte(s)
   ...

Syscall param lwp_sigmask(bits3) contains uninitialised byte(s)
   ...

sigprocmask: unknown 'how' field 0
---------------------------------------------------------
167:            SYS_lwp_wait 2s 1m
---------------------------------------------------------
Syscall param lwp_wait(lwpid) contains uninitialised byte(s)
   ...

Syscall param lwp_wait(departed) contains uninitialised byte(s)
   ...

Syscall param lwp_wait(departed) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
168:    SYS_lwp_mutex_wakeup 2s 2m
---------------------------------------------------------
Syscall param lwp_mutex_wakeup(lp) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_wakeup(release_all) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_wakeup(lp->mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_wakeup(lp->mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
170:       SYS_lwp_cond_wait 4s 5m
---------------------------------------------------------
Syscall param lwp_cond_wait(cvp) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_wait(mp) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_wait(tsp) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_wait(check_part) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_wait(cvp->type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_wait(cvp->waiters_kernel) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_wait(mp->mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_wait(mp->mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_wait(tsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
171:     SYS_lwp_cond_signal 1s 2m
---------------------------------------------------------
Syscall param lwp_cond_signal(cvp) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_signal(cvp->type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_signal(cvp->waiters_kernel) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
172:  SYS_lwp_cond_broadcast 1s 2m
---------------------------------------------------------
Syscall param lwp_cond_broadcast(cvp) contains uninitialised byte(s)
   ...

Syscall param lwp_cond_broadcast(cvp->type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_cond_broadcast(cvp->waiters_kernel) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
173:               SYS_pread 4s 1m
---------------------------------------------------------
Syscall param pread(fildes) contains uninitialised byte(s)
   ...

Syscall param pread(buf) contains uninitialised byte(s)
   ...

Syscall param pread(nbyte) contains uninitialised byte(s)
   ...

Syscall param pread(offset) contains uninitialised byte(s)
   ...

Syscall param pread(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
174:              SYS_pwrite 4s 1m
---------------------------------------------------------
Syscall param pwrite(fildes) contains uninitialised byte(s)
   ...

Syscall param pwrite(buf) contains uninitialised byte(s)
   ...

Syscall param pwrite(nbyte) contains uninitialised byte(s)
   ...

Syscall param pwrite(offset) contains uninitialised byte(s)
   ...

Syscall param pwrite(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_MEMINFO) 3s 1m
---------------------------------------------------------
Syscall param lgrpsys_meminfo(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(addr_count) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(minfo) contains uninitialised byte(s)
   ...

Syscall param lgrpsys(minfo) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_MEMINFO) 3s 1m
---------------------------------------------------------
Syscall param lgrpsys_meminfo(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(addr_count) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(minfo) contains uninitialised byte(s)
   ...

Syscall param lgrpsys(minfo) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_MEMINFO) 4s 4m
---------------------------------------------------------
Syscall param lgrpsys_meminfo(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(addr_count) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_meminfo(minfo) contains uninitialised byte(s)
   ...

Syscall param lgrpsys(minfo) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param lgrpsys(minfo->mi_inaddr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lgrpsys(minfo->mi_info_req) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lgrpsys(minfo->mi_outdata) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lgrpsys(minfo->mi_validity) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_GENERATION) 2s 0m
---------------------------------------------------------
Syscall param lgrpsys_generation(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_generation(view) contains uninitialised byte(s)
   ...

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_VERSION) 2s 0m
---------------------------------------------------------
Syscall param lgrpsys_version(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_version(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
180:             SYS_lgrpsys (LGRP_SYS_SNAPSHOT) 3s 1m
---------------------------------------------------------
Syscall param lgrpsys_snapshot(subcode) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_snapshot(bufsize) contains uninitialised byte(s)
   ...

Syscall param lgrpsys_snapshot(buf) contains uninitialised byte(s)
   ...

Syscall param lgrpsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
181:           SYS_rusagesys (_RUSAGESYS_GETRUSAGE) 2s 1m
---------------------------------------------------------
Syscall param rusagesys_getrusage(code) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getrusage(r_usage) contains uninitialised byte(s)
   ...

Syscall param rusagesys(r_usage) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
181:           SYS_rusagesys (_RUSAGESYS_GETRUSAGE_CHLD) 2s 1m
---------------------------------------------------------
Syscall param rusagesys_getrusage(code) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getrusage(r_usage) contains uninitialised byte(s)
   ...

Syscall param rusagesys(r_usage) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
181:           SYS_rusagesys (_RUSAGESYS_GETRUSAGE_LWP) 2s 1m
---------------------------------------------------------
Syscall param rusagesys_getrusage(code) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getrusage(r_usage) contains uninitialised byte(s)
   ...

Syscall param rusagesys(r_usage) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
181:           SYS_rusagesys (_RUSAGESYS_GETVMUSAGE) 5s 1m
---------------------------------------------------------
Syscall param rusagesys_getvmusage(code) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(flags) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(age) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(buf) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(nres) contains uninitialised byte(s)
   ...

Syscall param rusagesys(nres) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
181:           SYS_rusagesys (_RUSAGESYS_GETVMUSAGE) 5s 1m
---------------------------------------------------------
Syscall param rusagesys_getvmusage(code) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(flags) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(age) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(buf) contains uninitialised byte(s)
   ...

Syscall param rusagesys_getvmusage(nres) contains uninitialised byte(s)
   ...

Syscall param rusagesys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_CREATE) 1s 0m
---------------------------------------------------------
Syscall param port_create(opcode) contains uninitialised byte(s)
   ...

---------------------------------------------------------
182:                SYS_port (PORT_ASSOCIATE,PORT_SOURCE_FD) 6s 0m
---------------------------------------------------------
Syscall param port_associate(opcode) contains uninitialised byte(s)
   ...

Syscall param port_associate(a0) contains uninitialised byte(s)
   ...

Syscall param port_associate(a1) contains uninitialised byte(s)
   ...

Syscall param port_associate(a2) contains uninitialised byte(s)
   ...

Syscall param port_associate(a3) contains uninitialised byte(s)
   ...

Syscall param port_associate(a4) contains uninitialised byte(s)
   ...

---------------------------------------------------------
182:                SYS_port (PORT_ASSOCIATE,PORT_SOURCE_FILE) 6s 1m
---------------------------------------------------------
Syscall param port_associate(opcode) contains uninitialised byte(s)
   ...

Syscall param port_associate(a0) contains uninitialised byte(s)
   ...

Syscall param port_associate(a1) contains uninitialised byte(s)
   ...

Syscall param port_associate(a2) contains uninitialised byte(s)
   ...

Syscall param port_associate(a3) contains uninitialised byte(s)
   ...

Syscall param port_associate(a4) contains uninitialised byte(s)
   ...

Syscall param port(file_obj) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_DISSOCIATE,PORT_SOURCE_FD) 6s 0m
---------------------------------------------------------
Syscall param port_dissociate(opcode) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a0) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a1) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a2) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a3) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a4) contains uninitialised byte(s)
   ...

---------------------------------------------------------
182:                SYS_port (PORT_DISSOCIATE,PORT_SOURCE_FILE) 6s 1m
---------------------------------------------------------
Syscall param port_dissociate(opcode) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a0) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a1) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a2) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a3) contains uninitialised byte(s)
   ...

Syscall param port_dissociate(a4) contains uninitialised byte(s)
   ...

Syscall param port(file_obj) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_SEND) 4s 0m
---------------------------------------------------------
Syscall param port_send(opcode) contains uninitialised byte(s)
   ...

Syscall param port_send(a0) contains uninitialised byte(s)
   ...

Syscall param port_send(a1) contains uninitialised byte(s)
   ...

Syscall param port_send(a2) contains uninitialised byte(s)
   ...

---------------------------------------------------------
182:                SYS_port (PORT_SENDN) 6s 2m
---------------------------------------------------------
Syscall param port_sendn(opcode) contains uninitialised byte(s)
   ...

Syscall param port_sendn(a0) contains uninitialised byte(s)
   ...

Syscall param port_sendn(a1) contains uninitialised byte(s)
   ...

Syscall param port_sendn(a2) contains uninitialised byte(s)
   ...

Syscall param port_sendn(a3) contains uninitialised byte(s)
   ...

Syscall param port_sendn(a4) contains uninitialised byte(s)
   ...

Syscall param port(ports) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param port(errors) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_GET) 6s 1m
---------------------------------------------------------
Syscall param port_get(opcode) contains uninitialised byte(s)
   ...

Syscall param port_get(a0) contains uninitialised byte(s)
   ...

Syscall param port_get(a1) contains uninitialised byte(s)
   ...

Syscall param port_get(a2) contains uninitialised byte(s)
   ...

Syscall param port_get(a3) contains uninitialised byte(s)
   ...

Syscall param port_get(a4) contains uninitialised byte(s)
   ...

Syscall param port(uevp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_GETN) 5s 2m
---------------------------------------------------------
Syscall param port_getn(opcode) contains uninitialised byte(s)
   ...

Syscall param port_getn(a0) contains uninitialised byte(s)
   ...

Syscall param port_getn(a1) contains uninitialised byte(s)
   ...

Syscall param port_getn(a2) contains uninitialised byte(s)
   ...

Syscall param port_getn(a3) contains uninitialised byte(s)
   ...

Syscall param port_getn(a4) contains uninitialised byte(s)
   ...

Syscall param port(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param port(uevp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
182:                SYS_port (PORT_ALERT) 5s 0m
---------------------------------------------------------
Syscall param port_alert(opcode) contains uninitialised byte(s)
   ...

Syscall param port_alert(a0) contains uninitialised byte(s)
   ...

Syscall param port_alert(a1) contains uninitialised byte(s)
   ...

Syscall param port_alert(a2) contains uninitialised byte(s)
   ...

Syscall param port_alert(a3) contains uninitialised byte(s)
   ...

---------------------------------------------------------
182:                SYS_port (PORT_DISPATCH) 6s 0m
---------------------------------------------------------
Syscall param port_dispatch(opcode) contains uninitialised byte(s)
   ...

Syscall param port_dispatch(a0) contains uninitialised byte(s)
   ...

Syscall param port_dispatch(a1) contains uninitialised byte(s)
   ...

Syscall param port_dispatch(a2) contains uninitialised byte(s)
   ...

Syscall param port_dispatch(a3) contains uninitialised byte(s)
   ...

Syscall param port_dispatch(a4) contains uninitialised byte(s)
   ...

---------------------------------------------------------
183:             SYS_pollsys 4s 5m
---------------------------------------------------------
Syscall param poll(fds) contains uninitialised byte(s)
   ...

Syscall param poll(nfds) contains uninitialised byte(s)
   ...

Syscall param poll(timeout) contains uninitialised byte(s)
   ...

Syscall param poll(set) contains uninitialised byte(s)
   ...

Syscall param poll(ufds.fd) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param poll(ufds.events) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param poll(ufds.revents) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param poll(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param poll(set) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
184:            SYS_labelsys (TSOL_SYSLABELING) 1s 0m
---------------------------------------------------------
Syscall param labelsys_syslabeling(op) contains uninitialised byte(s)
   ...

---------------------------------------------------------
184:            SYS_labelsys (TSOL_TNRH) 3s 1m
---------------------------------------------------------
Syscall param labelsys_tnrh(op) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnrh(cmd) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnrh(buf) contains uninitialised byte(s)
   ...

Syscall param labelsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
184:            SYS_labelsys (TSOL_TNRHTP) 3s 1m
---------------------------------------------------------
Syscall param labelsys_tnrhtp(op) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnrhtp(cmd) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnrhtp(buf) contains uninitialised byte(s)
   ...

Syscall param labelsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
184:            SYS_labelsys (TSOL_TNMLP) 3s 1m
---------------------------------------------------------
Syscall param labelsys_tnmlp(op) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnmlp(cmd) contains uninitialised byte(s)
   ...

Syscall param labelsys_tnmlp(buf) contains uninitialised byte(s)
   ...

Syscall param labelsys(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
184:            SYS_labelsys (TSOL_GETLABEL) 3s 2m
---------------------------------------------------------
Syscall param labelsys_getlabel(op) contains uninitialised byte(s)
   ...

Syscall param labelsys_getlabel(path) contains uninitialised byte(s)
   ...

Syscall param labelsys_getlabel(label) contains uninitialised byte(s)
   ...

Syscall param labelsys(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param labelsys(label) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
184:            SYS_labelsys (TSOL_FGETLABEL) 3s 1m
---------------------------------------------------------
Syscall param labelsys_fgetlabel(op) contains uninitialised byte(s)
   ...

Syscall param labelsys_fgetlabel(fd) contains uninitialised byte(s)
   ...

Syscall param labelsys_fgetlabel(label) contains uninitialised byte(s)
   ...

Syscall param labelsys(label) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (SETACL) 4s 2m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param acl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (GETACL) 4s 2m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param acl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (GETACLCNT) 4s 1m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (ACE_SETACL) 4s 2m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param acl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (ACE_GETACL) 4s 2m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param acl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
185:                 SYS_acl (ACE_GETACLCNT) 4s 1m
---------------------------------------------------------
Syscall param acl(pathp) contains uninitialised byte(s)
   ...

Syscall param acl(cmd) contains uninitialised byte(s)
   ...

Syscall param acl(nentries) contains uninitialised byte(s)
   ...

Syscall param acl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param acl(pathp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_GETAUID) 2s 1m
---------------------------------------------------------
Syscall param auditsys_getauid(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_getauid(auid) contains uninitialised byte(s)
   ...

Syscall param auditsys(auid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_SETAUID) 2s 1m
---------------------------------------------------------
Syscall param auditsys_setauid(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_setauid(auid) contains uninitialised byte(s)
   ...

Syscall param auditsys(auid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_GETAUDIT) 2s 1m
---------------------------------------------------------
Syscall param auditsys_getaudit(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_getaudit(ai) contains uninitialised byte(s)
   ...

Syscall param auditsys(ai) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_SETAUDIT) 2s 1m
---------------------------------------------------------
Syscall param auditsys_setaudit(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_setaudit(ai) contains uninitialised byte(s)
   ...

Syscall param auditsys(ai) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDIT) 3s 1m
---------------------------------------------------------
Syscall param auditsys_audit(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_audit(record) contains uninitialised byte(s)
   ...

Syscall param auditsys_audit(length) contains uninitialised byte(s)
   ...

Syscall param auditsys(record) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETPOLICY) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getpolicy(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpolicy(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpolicy(policy) contains uninitialised byte(s)
   ...

Syscall param auditsys(policy) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETPOLICY) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setpolicy(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setpolicy(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setpolicy(policy) contains uninitialised byte(s)
   ...

Syscall param auditsys(policy) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETKMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getkmask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getkmask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getkmask(kmask) contains uninitialised byte(s)
   ...

Syscall param auditsys(kmask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETKMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setkmask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setkmask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setkmask(kmask) contains uninitialised byte(s)
   ...

Syscall param auditsys(kmask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETQCTRL) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getqctrl(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getqctrl(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getqctrl(qctrl) contains uninitialised byte(s)
   ...

Syscall param auditsys(qctrl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETQCTRL) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setqctrl(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setqctrl(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setqctrl(qctrl) contains uninitialised byte(s)
   ...

Syscall param auditsys(qctrl) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETCWD) 4s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getcwd(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcwd(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcwd(data) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcwd(length) contains uninitialised byte(s)
   ...

Syscall param auditsys(data) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETCAR) 4s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getcar(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcar(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcar(data) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcar(length) contains uninitialised byte(s)
   ...

Syscall param auditsys(data) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETUMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setumask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setumask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setumask(umask) contains uninitialised byte(s)
   ...

Syscall param auditsys(umask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETSMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setsmask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setsmask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setsmask(smask) contains uninitialised byte(s)
   ...

Syscall param auditsys(smask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETCOND) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getcond(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcond(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getcond(cond) contains uninitialised byte(s)
   ...

Syscall param auditsys(cond) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETCOND) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setcond(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setcond(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setcond(state) contains uninitialised byte(s)
   ...

Syscall param auditsys(cond) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETCLASS) 3s 0m
---------------------------------------------------------
Syscall param auditsys_auditctl_getclass(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getclass(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getclass(classmap) contains uninitialised byte(s)
   ...

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETCLASS) 3s 0m
---------------------------------------------------------
Syscall param auditsys_auditctl_setclass(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setclass(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setclass(classmap) contains uninitialised byte(s)
   ...

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETCLASS) 4s 0m
---------------------------------------------------------
Syscall param auditsys_auditctl_setclass(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setclass(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys(classmap.ec_number) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param auditsys(classmap.ec_class) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETPINFO) 3s 0m
---------------------------------------------------------
Syscall param auditsys_auditctl_getpinfo(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpinfo(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpinfo(apinfo) contains uninitialised byte(s)
   ...

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETPMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setpmask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setpmask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setpmask(apinfo) contains uninitialised byte(s)
   ...

Syscall param auditsys(apinfo) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETPINFO_ADDR) 4s 0m
---------------------------------------------------------
Syscall param auditsys_auditctl_getpinfo_addr(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpinfo_addr(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpinfo_addr(apinfo) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getpinfo_addr(length) contains uninitialised byte(s)
   ...

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETKAUDIT) 4s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getkaudit(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getkaudit(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getkaudit(kaudit) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getkaudit(length) contains uninitialised byte(s)
   ...

Syscall param auditsys(kaudit) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETKAUDIT) 4s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setkaudit(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setkaudit(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setkaudit(kaudit) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setkaudit(length) contains uninitialised byte(s)
   ...

Syscall param auditsys(kaudit) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_GETAMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_getamask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getamask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_getamask(amask) contains uninitialised byte(s)
   ...

Syscall param auditsys(amask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITCTL,A_SETAMASK) 3s 1m
---------------------------------------------------------
Syscall param auditsys_auditctl_setamask(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setamask(cmd) contains uninitialised byte(s)
   ...

Syscall param auditsys_auditctl_setamask(amask) contains uninitialised byte(s)
   ...

Syscall param auditsys(amask) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_GETAUDIT_ADDR) 3s 1m
---------------------------------------------------------
Syscall param auditsys_getaudit_addr(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_getaudit_addr(ai) contains uninitialised byte(s)
   ...

Syscall param auditsys_getaudit_addr(len) contains uninitialised byte(s)
   ...

Syscall param auditsys(ai) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_SETAUDIT_ADDR) 3s 1m
---------------------------------------------------------
Syscall param auditsys_setaudit_addr(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_setaudit_addr(ai) contains uninitialised byte(s)
   ...

Syscall param auditsys_setaudit_addr(len) contains uninitialised byte(s)
   ...

Syscall param auditsys(ai) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
186:            SYS_auditsys (BSM_AUDITDOOR) 2s 0m
---------------------------------------------------------
Syscall param auditsys_door(code) contains uninitialised byte(s)
   ...

Syscall param auditsys_door(fd) contains uninitialised byte(s)
   ...

---------------------------------------------------------
189:            SYS_p_online 2s 0m
---------------------------------------------------------
Syscall param p_online(processorid) contains uninitialised byte(s)
   ...

Syscall param p_online(flag) contains uninitialised byte(s)
   ...

---------------------------------------------------------
190:            SYS_sigqueue 5s 1m
---------------------------------------------------------
Syscall param sigqueue(pid) contains uninitialised byte(s)
   ...

Syscall param sigqueue(signo) contains uninitialised byte(s)
   ...

Syscall param sigqueue(value) contains uninitialised byte(s)
   ...

Syscall param sigqueue(si_code) contains uninitialised byte(s)
   ...

Syscall param sigqueue(timeout) contains uninitialised byte(s)
   ...

Syscall param sigqueue(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
191:       SYS_clock_gettime 2s 1m
---------------------------------------------------------
Syscall param clock_gettime(clock_id) contains uninitialised byte(s)
   ...

Syscall param clock_gettime(tp) contains uninitialised byte(s)
   ...

Syscall param clock_gettime(tp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
192:       SYS_clock_settime 2s 1m
---------------------------------------------------------
Syscall param clock_settime(clock_id) contains uninitialised byte(s)
   ...

Syscall param clock_settime(tp) contains uninitialised byte(s)
   ...

Syscall param clock_settime(tp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
193:        SYS_clock_getres 2s 1m
---------------------------------------------------------
Syscall param clock_getres(clock_id) contains uninitialised byte(s)
   ...

Syscall param clock_getres(res) contains uninitialised byte(s)
   ...

Syscall param clock_getres(res) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
194:        SYS_timer_create 3s 4m
---------------------------------------------------------
Syscall param timer_create(clock_id) contains uninitialised byte(s)
   ...

Syscall param timer_create(evp) contains uninitialised byte(s)
   ...

Syscall param timer_create(timerid) contains uninitialised byte(s)
   ...

Syscall param timer_create(evp.sigev_notify) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param timer_create(evp.sigev_signo) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param timer_create(evp.sigev_value.sival_int) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param timer_create(timerid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
194:        SYS_timer_create 5s 2m
---------------------------------------------------------
Syscall param timer_create(clock_id) contains uninitialised byte(s)
   ...

Syscall param timer_create(timerid) contains uninitialised byte(s)
   ...

Syscall param timer_create(evp.sigev_notify) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param timer_create(evp.sigev_signo) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param timer_create(evp.sigev_value.sival_int) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param timer_create(evp.sigev_value.sival_ptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param timer_create(timerid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
195:        SYS_timer_delete 1s 0m
---------------------------------------------------------
Syscall param timer_delete(timerid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
196:       SYS_timer_settime 4s 2m
---------------------------------------------------------
Syscall param timer_settime(timerid) contains uninitialised byte(s)
   ...

Syscall param timer_settime(flags) contains uninitialised byte(s)
   ...

Syscall param timer_settime(value) contains uninitialised byte(s)
   ...

Syscall param timer_settime(ovalue) contains uninitialised byte(s)
   ...

Syscall param timer_settime(value) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param timer_settime(ovalue) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
197:       SYS_timer_gettime 2s 1m
---------------------------------------------------------
Syscall param timer_gettime(timerid) contains uninitialised byte(s)
   ...

Syscall param timer_gettime(value) contains uninitialised byte(s)
   ...

Syscall param timer_gettime(value) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
198:    SYS_timer_getoverrun 1s 0m
---------------------------------------------------------
Syscall param timer_getoverrun(timerid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
199:           SYS_nanosleep 2s 2m
---------------------------------------------------------
Syscall param nanosleep(req) contains uninitialised byte(s)
   ...

Syscall param nanosleep(rem) contains uninitialised byte(s)
   ...

Syscall param nanosleep(req) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param nanosleep(rem) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
200:                SYS_facl (SETACL) 4s 1m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
200:                SYS_facl (GETACL) 4s 1m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
200:                SYS_facl (GETACLCNT) 4s 0m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

---------------------------------------------------------
200:                SYS_facl (ACE_SETACL) 4s 1m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
200:                SYS_facl (ACE_GETACL) 4s 1m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
200:                SYS_facl (ACE_GETACLCNT) 4s 0m
---------------------------------------------------------
Syscall param facl(fildes) contains uninitialised byte(s)
   ...

Syscall param facl(cmd) contains uninitialised byte(s)
   ...

Syscall param facl(nentries) contains uninitialised byte(s)
   ...

Syscall param facl(aclbufp) contains uninitialised byte(s)
   ...

---------------------------------------------------------
201:                SYS_door (DOOR_CREATE) 4s 0m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(arg2) contains uninitialised byte(s)
   ...

Syscall param door(arg3) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

---------------------------------------------------------
201:                SYS_door (DOOR_REVOKE) 2s 0m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

---------------------------------------------------------
201:                SYS_door (DOOR_INFO) 3s 1m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(arg2) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

Syscall param door_info(info) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
201:                SYS_door (DOOR_CALL) 3s 6m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(arg2) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

Syscall param door_call(params->data_ptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->data_size) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->desc_ptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->desc_num) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->rbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->rsize) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
201:                SYS_door (DOOR_CALL) 9s 2m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(arg2) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

Syscall param door_call(params->data_ptr) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->data_size) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->desc_ptr) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->desc_num) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->rbuf) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->rsize) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param door_call(params->desc_ptr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param door_call(params->rbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
201:                SYS_door (DOOR_SETPARAM) 4s 0m
---------------------------------------------------------
Syscall param door(arg1) contains uninitialised byte(s)
   ...

Syscall param door(arg2) contains uninitialised byte(s)
   ...

Syscall param door(arg3) contains uninitialised byte(s)
   ...

Syscall param door(subcode) contains uninitialised byte(s)
   ...

---------------------------------------------------------
202:            SYS_setreuid 2s 0m
---------------------------------------------------------
Syscall param setreuid(ruid) contains uninitialised byte(s)
   ...

Syscall param setreuid(euid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
203:            SYS_setregid 2s 0m
---------------------------------------------------------
Syscall param setregid(rgid) contains uninitialised byte(s)
   ...

Syscall param setregid(egid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
206:            SYS_schedctl 0s 0m
---------------------------------------------------------
---------------------------------------------------------
207:                SYS_pset (CREATE) 2s 1m
---------------------------------------------------------
Syscall param pset_create(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_create(newpset) contains uninitialised byte(s)
   ...

Syscall param pset(newpset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (DESTROY) 2s 0m
---------------------------------------------------------
Syscall param pset_destroy(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_destroy(pset) contains uninitialised byte(s)
   ...

---------------------------------------------------------
207:                SYS_pset (ASSIGN) 4s 1m
---------------------------------------------------------
Syscall param pset_assign(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_assign(pset) contains uninitialised byte(s)
   ...

Syscall param pset_assign(cpu) contains uninitialised byte(s)
   ...

Syscall param pset_assign(opset) contains uninitialised byte(s)
   ...

Syscall param pset(opset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (INFO) 5s 3m
---------------------------------------------------------
Syscall param pset_info(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_info(pset) contains uninitialised byte(s)
   ...

Syscall param pset_info(type) contains uninitialised byte(s)
   ...

Syscall param pset_info(numcpus) contains uninitialised byte(s)
   ...

Syscall param pset_info(cpulist) contains uninitialised byte(s)
   ...

Syscall param pset(type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param pset(numcpus) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (INFO) 5s 1m
---------------------------------------------------------
Syscall param pset_info(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_info(pset) contains uninitialised byte(s)
   ...

Syscall param pset_info(type) contains uninitialised byte(s)
   ...

Syscall param pset_info(numcpus) contains uninitialised byte(s)
   ...

Syscall param pset_info(cpulist) contains uninitialised byte(s)
   ...

Syscall param pset(cpulist) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (BIND) 5s 1m
---------------------------------------------------------
Syscall param pset_bind(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_bind(pset) contains uninitialised byte(s)
   ...

Syscall param pset_bind(idtype) contains uninitialised byte(s)
   ...

Syscall param pset_bind(id) contains uninitialised byte(s)
   ...

Syscall param pset_bind(opset) contains uninitialised byte(s)
   ...

Syscall param pset(opset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (BIND_LWP) 5s 1m
---------------------------------------------------------
Syscall param pset_bind_lwp(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_bind_lwp(pset) contains uninitialised byte(s)
   ...

Syscall param pset_bind_lwp(id) contains uninitialised byte(s)
   ...

Syscall param pset_bind_lwp(pid) contains uninitialised byte(s)
   ...

Syscall param pset_bind_lwp(opset) contains uninitialised byte(s)
   ...

Syscall param pset(opset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (GETLOADAVG) 4s 1m
---------------------------------------------------------
Syscall param pset_getloadavg(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_getloadavg(pset) contains uninitialised byte(s)
   ...

Syscall param pset_getloadavg(buf) contains uninitialised byte(s)
   ...

Syscall param pset_getloadavg(nelem) contains uninitialised byte(s)
   ...

Syscall param pset(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (LIST) 3s 1m
---------------------------------------------------------
Syscall param pset_list(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_list(psetlist) contains uninitialised byte(s)
   ...

Syscall param pset_list(numpsets) contains uninitialised byte(s)
   ...

Syscall param pset(numpsets) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (LIST) 3s 1m
---------------------------------------------------------
Syscall param pset_list(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_list(psetlist) contains uninitialised byte(s)
   ...

Syscall param pset_list(numpsets) contains uninitialised byte(s)
   ...

Syscall param pset(psetlist) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (SETATTR) 3s 0m
---------------------------------------------------------
Syscall param pset_setattr(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_setattr(pset) contains uninitialised byte(s)
   ...

Syscall param pset_setattr(attr) contains uninitialised byte(s)
   ...

---------------------------------------------------------
207:                SYS_pset (GETATTR) 3s 1m
---------------------------------------------------------
Syscall param pset_getattr(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_getattr(pset) contains uninitialised byte(s)
   ...

Syscall param pset_getattr(attr) contains uninitialised byte(s)
   ...

Syscall param pset(attr) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
207:                SYS_pset (ASSIGN_FORCED) 4s 1m
---------------------------------------------------------
Syscall param pset_assign_forced(subcode) contains uninitialised byte(s)
   ...

Syscall param pset_assign_forced(pset) contains uninitialised byte(s)
   ...

Syscall param pset_assign_forced(cpu) contains uninitialised byte(s)
   ...

Syscall param pset_assign_forced(opset) contains uninitialised byte(s)
   ...

Syscall param pset(opset) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
209:         SYS_resolvepath 3s 2m
---------------------------------------------------------
Syscall param resolvepath(path) contains uninitialised byte(s)
   ...

Syscall param resolvepath(buf) contains uninitialised byte(s)
   ...

Syscall param resolvepath(bufsiz) contains uninitialised byte(s)
   ...

Syscall param resolvepath(path) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param resolvepath(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
210: SYS_lwp_mutex_timedlock 3s 7m
---------------------------------------------------------
Syscall param lwp_mutex_timedlock(lp) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_timedlock(tsp) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_timedlock(owner) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_timedlock(lp->mutex_flag) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(lp->mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(lp->mutex_owner) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(lp->mutex_ownerpid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(lp->mutex_lockw) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(lp->mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_mutex_timedlock(tsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
211:  SYS_lwp_sema_timedwait 3s 4m
---------------------------------------------------------
Syscall param lwp_sema_timedwait(sema) contains uninitialised byte(s)
   ...

Syscall param lwp_sema_timedwait(timeout) contains uninitialised byte(s)
   ...

Syscall param lwp_sema_timedwait(check_park) contains uninitialised byte(s)
   ...

Syscall param lwp_sema_timedwait(sema->type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_sema_timedwait(sema->count) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_sema_timedwait(sema->waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_sema_timedwait(timeout) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
212:      SYS_lwp_rwlock_sys (RDLOCK) 3s 8m
---------------------------------------------------------
Syscall param lwp_rwlock_rdlock(subcode) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_rdlock(rwlp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_rdlock(tsp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock(rwlp->rwlock_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->rwlock_readers) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_owner) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_ownerpid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_lockw) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(tsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
212:      SYS_lwp_rwlock_sys (WRLOCK) 3s 8m
---------------------------------------------------------
Syscall param lwp_rwlock_wrlock(subcode) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_wrlock(rwlp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_wrlock(tsp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock(rwlp->rwlock_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->rwlock_readers) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_owner) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_ownerpid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_lockw) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(tsp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
212:      SYS_lwp_rwlock_sys (TRYRDLOCK) 2s 7m
---------------------------------------------------------
Syscall param lwp_rwlock_tryrdlock(subcode) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_tryrdlock(rwlp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock(rwlp->rwlock_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->rwlock_readers) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_owner) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_ownerpid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_lockw) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
212:      SYS_lwp_rwlock_sys (TRYWRLOCK) 2s 7m
---------------------------------------------------------
Syscall param lwp_rwlock_trywrlock(subcode) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_trywrlock(rwlp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock(rwlp->rwlock_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->rwlock_readers) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_owner) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_ownerpid) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_lockw) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->mutex.mutex_waiters) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
212:      SYS_lwp_rwlock_sys (UNLOCK) 2s 2m
---------------------------------------------------------
Syscall param lwp_rwlock_unlock(subcode) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock_unlock(rwlp) contains uninitialised byte(s)
   ...

Syscall param lwp_rwlock(rwlp->mutex.mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param lwp_rwlock(rwlp->rwlock_readers) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_CREATE) 2s 12m
---------------------------------------------------------
Syscall param zone_create(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_create(zd) contains uninitialised byte(s)
   ...

Syscall param zone(zd.zone_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zone_root) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zone_privs) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zone_privssz) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.rctlbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.rctlbufsz) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zfsbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zfsbufsz) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.extended_error) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.match) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.doi) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.label) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.flags) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (create) 2s 19m
---------------------------------------------------------
Syscall param zone_create(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_create(zd) contains uninitialised byte(s)
   ...

Syscall param zone(zd.zone_name) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zone_root) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zone_privs) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zone_privssz) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.rctlbuf) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.rctlbufsz) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zfsbuf) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zfsbufsz) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.extended_error) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.match) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.doi) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.label) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.flags) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param zone(zd.zone_name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zone_root) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zone_privs) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.rctlbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.zfsbuf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param zone(zd.label) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_DESTROY) 2s 0m
---------------------------------------------------------
Syscall param zone_destroy(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_destroy(zoneid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
227:                SYS_zone (ZONE_GETATTR) 5s 1m
---------------------------------------------------------
Syscall param zone_getattr(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_getattr(zoneid) contains uninitialised byte(s)
   ...

Syscall param zone_getattr(attr) contains uninitialised byte(s)
   ...

Syscall param zone_getattr(valp) contains uninitialised byte(s)
   ...

Syscall param zone_getattr(size) contains uninitialised byte(s)
   ...

Syscall param zone(valp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_ENTER) 2s 0m
---------------------------------------------------------
Syscall param zone_enter(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_enter(zoneid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
227:                SYS_zone (ZONE_LIST) 3s 1m
---------------------------------------------------------
Syscall param zone_list(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_list(zonelist) contains uninitialised byte(s)
   ...

Syscall param zone_list(numzones) contains uninitialised byte(s)
   ...

Syscall param zone(numzones) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_LIST) 3s 1m
---------------------------------------------------------
Syscall param zone_list(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_list(zonelist) contains uninitialised byte(s)
   ...

Syscall param zone_list(numzones) contains uninitialised byte(s)
   ...

Syscall param zone(zonelist) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_SHUTDOWN) 2s 0m
---------------------------------------------------------
Syscall param zone_shutdown(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_shutdown(zoneid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
227:                SYS_zone (ZONE_LOOKUP) 2s 1m
---------------------------------------------------------
Syscall param zone_lookup(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_lookup(name) contains uninitialised byte(s)
   ...

Syscall param zone(name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_BOOT) 2s 0m
---------------------------------------------------------
Syscall param zone_boot(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_boot(zoneid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
227:                SYS_zone (ZONE_SETATTR) 5s 1m
---------------------------------------------------------
Syscall param zone_setattr(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_setattr(zoneid) contains uninitialised byte(s)
   ...

Syscall param zone_setattr(attr) contains uninitialised byte(s)
   ...

Syscall param zone_setattr(valp) contains uninitialised byte(s)
   ...

Syscall param zone_setattr(size) contains uninitialised byte(s)
   ...

Syscall param zone(valp) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
227:                SYS_zone (ZONE_DEL_DATALINK) 3s 0m
---------------------------------------------------------
Syscall param zone_del_datalink(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_del_datalink(zoneid) contains uninitialised byte(s)
   ...

Syscall param zone_del_datalink(linkid) contains uninitialised byte(s)
   ...

---------------------------------------------------------
227:                SYS_zone (ZONE_LIST_DATALINK) 4s 1m
---------------------------------------------------------
Syscall param zone_list_datalink(cmd) contains uninitialised byte(s)
   ...

Syscall param zone_list_datalink(zoneid) contains uninitialised byte(s)
   ...

Syscall param zone_list_datalink(dlnump) contains uninitialised byte(s)
   ...

Syscall param zone_list_datalink(linkids) contains uninitialised byte(s)
   ...

Syscall param zone(dlnump) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
229:              SYS_getcwd 2s 1m
---------------------------------------------------------
Syscall param getcwd(buf) contains uninitialised byte(s)
   ...

Syscall param getcwd(size) contains uninitialised byte(s)
   ...

Syscall param getcwd(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
230:           SYS_so_socket 5s 1m
---------------------------------------------------------
Syscall param socket(family) contains uninitialised byte(s)
   ...

Syscall param socket(type) contains uninitialised byte(s)
   ...

Syscall param socket(protocol) contains uninitialised byte(s)
   ...

Syscall param socket(devpath) contains uninitialised byte(s)
   ...

Syscall param socket(version) contains uninitialised byte(s)
   ...

Syscall param socket(devpath) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
231:       SYS_so_socketpair 1s 1m
---------------------------------------------------------
Syscall param socketpair(sv) contains uninitialised byte(s)
   ...

Syscall param socketpair(sv) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
232:                SYS_bind 4s 0m
---------------------------------------------------------
Syscall param bind(s) contains uninitialised byte(s)
   ...

Syscall param bind(name) contains uninitialised byte(s)
   ...

Syscall param bind(namelen) contains uninitialised byte(s)
   ...

Syscall param bind(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
233:              SYS_listen 3s 0m
---------------------------------------------------------
Syscall param listen(s) contains uninitialised byte(s)
   ...

Syscall param listen(backlog) contains uninitialised byte(s)
   ...

Syscall param listen(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
234:              SYS_accept 4s 0m
---------------------------------------------------------
Syscall param accept(s) contains uninitialised byte(s)
   ...

Syscall param accept(addr) contains uninitialised byte(s)
   ...

Syscall param accept(addrlen) contains uninitialised byte(s)
   ...

Syscall param accept(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
235:             SYS_connect 4s 0m
---------------------------------------------------------
Syscall param connect(s) contains uninitialised byte(s)
   ...

Syscall param connect(name) contains uninitialised byte(s)
   ...

Syscall param connect(namelen) contains uninitialised byte(s)
   ...

Syscall param connect(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
236:            SYS_shutdown 3s 0m
---------------------------------------------------------
Syscall param shutdown(sock) contains uninitialised byte(s)
   ...

Syscall param shutdown(how) contains uninitialised byte(s)
   ...

Syscall param shutdown(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
237:                SYS_recv 4s 1m
---------------------------------------------------------
Syscall param recv(s) contains uninitialised byte(s)
   ...

Syscall param recv(buf) contains uninitialised byte(s)
   ...

Syscall param recv(len) contains uninitialised byte(s)
   ...

Syscall param recv(flags) contains uninitialised byte(s)
   ...

Syscall param socketcall.recv(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
238:            SYS_recvfrom 6s 1m
---------------------------------------------------------
Syscall param recvfrom(s) contains uninitialised byte(s)
   ...

Syscall param recvfrom(buf) contains uninitialised byte(s)
   ...

Syscall param recvfrom(len) contains uninitialised byte(s)
   ...

Syscall param recvfrom(flags) contains uninitialised byte(s)
   ...

Syscall param recvfrom(from) contains uninitialised byte(s)
   ...

Syscall param recvfrom(fromlen) contains uninitialised byte(s)
   ...

Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
239:             SYS_recvmsg 3s 0m
---------------------------------------------------------
Syscall param recvmsg(s) contains uninitialised byte(s)
   ...

Syscall param recvmsg(msg) contains uninitialised byte(s)
   ...

Syscall param recvmsg(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
240:                SYS_send 4s 1m
---------------------------------------------------------
Syscall param send(s) contains uninitialised byte(s)
   ...

Syscall param send(msg) contains uninitialised byte(s)
   ...

Syscall param send(len) contains uninitialised byte(s)
   ...

Syscall param send(flags) contains uninitialised byte(s)
   ...

Syscall param socketcall.send(msg) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
241:             SYS_sendmsg 3s 0m
---------------------------------------------------------
Syscall param sendmsg(s) contains uninitialised byte(s)
   ...

Syscall param sendmsg(msg) contains uninitialised byte(s)
   ...

Syscall param sendmsg(flags) contains uninitialised byte(s)
   ...

---------------------------------------------------------
242:              SYS_sendto 6s 1m
---------------------------------------------------------
Syscall param sendto(s) contains uninitialised byte(s)
   ...

Syscall param sendto(msg) contains uninitialised byte(s)
   ...

Syscall param sendto(len) contains uninitialised byte(s)
   ...

Syscall param sendto(flags) contains uninitialised byte(s)
   ...

Syscall param sendto(to) contains uninitialised byte(s)
   ...

Syscall param sendto(tolen) contains uninitialised byte(s)
   ...

Syscall param socketcall.sendto(msg) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
243:         SYS_getpeername 4s 1m
---------------------------------------------------------
Syscall param getpeername(s) contains uninitialised byte(s)
   ...

Syscall param getpeername(name) contains uninitialised byte(s)
   ...

Syscall param getpeername(namelen) contains uninitialised byte(s)
   ...

Syscall param getpeername(version) contains uninitialised byte(s)
   ...

Syscall param getpeername(namelen) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
243:         SYS_getpeername 4s 1m
---------------------------------------------------------
Syscall param getpeername(s) contains uninitialised byte(s)
   ...

Syscall param getpeername(name) contains uninitialised byte(s)
   ...

Syscall param getpeername(version) contains uninitialised byte(s)
   ...

Syscall param getpeername(namelen) points to uninitialised byte(s)
   ...
 Address 0x........ is on thread 1's stack

Syscall param getpeername(name) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
244:         SYS_getsockname 4s 1m
---------------------------------------------------------
Syscall param getsockname(s) contains uninitialised byte(s)
   ...

Syscall param getsockname(name) contains uninitialised byte(s)
   ...

Syscall param getsockname(namelen) contains uninitialised byte(s)
   ...

Syscall param getsockname(version) contains uninitialised byte(s)
   ...

Syscall param socketcall.getsockname(namelen_in) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
245:          SYS_getsockopt 6s 0m
---------------------------------------------------------
Syscall param getsockopt(s) contains uninitialised byte(s)
   ...

Syscall param getsockopt(level) contains uninitialised byte(s)
   ...

Syscall param getsockopt(optname) contains uninitialised byte(s)
   ...

Syscall param getsockopt(optval) contains uninitialised byte(s)
   ...

Syscall param getsockopt(option) contains uninitialised byte(s)
   ...

Syscall param getsockopt(version) contains uninitialised byte(s)
   ...

---------------------------------------------------------
246:          SYS_setsockopt 6s 1m
---------------------------------------------------------
Syscall param setsockopt(s) contains uninitialised byte(s)
   ...

Syscall param setsockopt(level) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optname) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optval) contains uninitialised byte(s)
   ...

Syscall param setsockopt(optlen) contains uninitialised byte(s)
   ...

Syscall param setsockopt(version) contains uninitialised byte(s)
   ...

Syscall param socketcall.setsockopt(optval) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
252:  SYS_lwp_mutex_register 2s 1m
---------------------------------------------------------
Syscall param lwp_mutex_register(mp) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_register(uaddr) contains uninitialised byte(s)
   ...

Syscall param lwp_mutex_register(mp->mutex_type) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
254:              SYS_uucopy 3s 2m
---------------------------------------------------------
Syscall param uucopy(s1) contains uninitialised byte(s)
   ...

Syscall param uucopy(s2) contains uninitialised byte(s)
   ...

Syscall param uucopy(n) contains uninitialised byte(s)
   ...

Syscall param uucopy(s1) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

Syscall param uucopy(s2) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
255:             SYS_umount2 2s 1m
---------------------------------------------------------
Syscall param umount2(file) contains uninitialised byte(s)
   ...

Syscall param umount2(mflag) contains uninitialised byte(s)
   ...

Syscall param umount2(file) points to unaddressable byte(s)
   ...
 Address 0x........ is not stack'd, malloc'd or (recently) free'd

---------------------------------------------------------
  1:                SYS_exit 1s 0m
---------------------------------------------------------
Syscall param exit(status) contains uninitialised byte(s)
   ...

