508154 PRE(sys_fchownat) not handling VKI_AT_FDCWD
508638 Self-hosting not working on FreeBSD
508777 amd64-linux: add minimal scalar test
+508778 syscall-wrapper waitid warns about infop=null
508869 x86-linux: simplify scalar test output
To see details of a given bug, visit
PRE_REG_READ5(int32_t, "sys_waitid",
int, which, vki_pid_t, pid, struct vki_siginfo *, infop,
int, options, struct vki_rusage *, ru);
- PRE_MEM_WRITE( "waitid(infop)", ARG3, sizeof(struct vki_siginfo) );
+ if (ARG3 != 0)
+ PRE_MEM_WRITE( "waitid(infop)", ARG3, sizeof(struct vki_siginfo) );
if (ARG5 != 0)
PRE_MEM_WRITE( "waitid(ru)", ARG5, sizeof(struct vki_rusage) );
}
POST(sys_waitid)
{
- POST_MEM_WRITE( ARG3, sizeof(struct vki_siginfo) );
+ if (ARG3 != 0)
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_siginfo) );
if (ARG5 != 0)
POST_MEM_WRITE( ARG5, sizeof(struct vki_rusage) );
}
GO(__NR_exit, "below");
// (see below)
+ // __NR_waitid 247
+ GO(__NR_waitid, "5s 0m");
+ SY(__NR_waitid, x0, x0, x0, x0, x0); FAIL;
+
+ GO(__NR_waitid, "(infop,ru) 5s 2m");
+ SY(__NR_waitid, x0, x0, x0 + 1, x0, x0 + 1); FAIL;
+
// no such syscall...
GO(9999, "1e");
SY(9999); FAIL;
-----------------------------------------------------
60: __NR_exit below
-----------------------------------------------------
+-----------------------------------------------------
+247: __NR_waitid 5s 0m
+-----------------------------------------------------
+Syscall param sys_waitid(which) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(pid) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(infop) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(options) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(ru) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+-----------------------------------------------------
+247: __NR_waitid (infop,ru) 5s 2m
+-----------------------------------------------------
+Syscall param sys_waitid(which) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(pid) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(infop) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(options) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(ru) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param waitid(infop) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param waitid(ru) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
-----------------------------------------------------
9999: 9999 1e
-----------------------------------------------------
GO(__NR_sys_kexec_load, "ni");
SY(__NR_sys_kexec_load); FAIL;
+ // __NR_waitid 284
+ GO(__NR_waitid, "5s 0m");
+ SY(__NR_waitid, x0, x0, x0, x0, x0); FAIL;
+
+ GO(__NR_waitid, "(infop,ru) 5s 2m");
+ SY(__NR_waitid, x0, x0, x0 + 1, x0, x0 + 2); FAIL;
+
// __NR_epoll_create1 329
GO(__NR_epoll_create1, "1s 0m");
SY(__NR_epoll_create1, x0); SUCC_OR_FAIL;
-----------------------------------------------------
283: __NR_sys_kexec_load ni
-----------------------------------------------------
+-----------------------------------------------------
+284: __NR_waitid 5s 0m
+-----------------------------------------------------
+Syscall param sys_waitid(which) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(pid) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(infop) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(options) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(ru) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+-----------------------------------------------------
+284: __NR_waitid (infop,ru) 5s 2m
+-----------------------------------------------------
+Syscall param sys_waitid(which) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(pid) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(infop) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(options) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param sys_waitid(ru) contains uninitialised byte(s)
+ ...
+ by 0x........: main (scalar.c)
+
+Syscall param waitid(infop) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param waitid(ru) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
-----------------------------------------------------
329: __NR_epoll_create1 1s 0m
-----------------------------------------------------