You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(2) |
2
(2) |
3
|
4
(1) |
|
5
(2) |
6
|
7
(1) |
8
(1) |
9
(3) |
10
(4) |
11
(3) |
|
12
|
13
(1) |
14
|
15
(1) |
16
|
17
|
18
|
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
|
26
|
27
|
28
|
29
|
30
|
31
(1) |
|
|
From: Paul F. <pa...@so...> - 2021-12-11 15:21:43
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=536520cc1d58a041845cbbcbb25782e4201d9092 commit 536520cc1d58a041845cbbcbb25782e4201d9092 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 16:20:58 2021 +0100 Forgot to remove FreeBSD 13 i386 scalar expected Diff: --- memcheck/tests/freebsd/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index f3bd873d76..66d1022753 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -33,7 +33,6 @@ EXTRA_DIST = \ scalar.vgtest \ scalar.stderr.exp \ scalar.stderr.exp-x86 \ - scalar.stderr.exp-freebsd130-x86 \ capsicum.vgtest \ capsicum.stderr.exp \ getfh.vgtest \ |
|
From: Paul F. <pa...@so...> - 2021-12-11 15:10:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=6db18baedb1214752e0ff54062705982ef0d0a88 commit 6db18baedb1214752e0ff54062705982ef0d0a88 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 16:08:08 2021 +0100 FreeBSD syswrap and scalar corrections for i386 and FreeBSD 12.2 There are still size/offset diffs on i386 for fexecve and realpathat. Diff: --- coregrind/m_syswrap/priv_syswrap-freebsd.h | 6 + coregrind/m_syswrap/syswrap-freebsd.c | 17 +- memcheck/tests/freebsd/scalar.c | 3 - memcheck/tests/freebsd/scalar.stderr.exp | 26 - .../tests/freebsd/scalar.stderr.exp-freebsd130-x86 | 5379 -------------------- memcheck/tests/freebsd/scalar.stderr.exp-x86 | 16 + memcheck/tests/freebsd/scalar_13_plus.c | 5 +- memcheck/tests/freebsd/scalar_13_plus.stderr.exp | 26 + 8 files changed, 62 insertions(+), 5416 deletions(-) diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index 79a1d9502f..e7b66b17d6 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -523,10 +523,16 @@ DECL_TEMPLATE(freebsd, sys_fhreadlink) // 567 // unimpl __NR_funlinkat 568 // unimpl __NR_copy_file_range 569 DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 + +#if (FREEBSD_VERS >= FREEBSD_13) +// looks like close_range got backported +// to 12.2 leaving these 4 marked as UNIMPL in 12.2 // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 DECL_TEMPLATE(freebsd, sys___realpathat) // 574 +#endif + // unimpl __NR_close_range 575 #endif diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 4f1574c353..3fe6c0eb24 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -6145,7 +6145,7 @@ POST(sys_fhreadlink) #if (FREEBSD_VERS >= FREEBSD_12_2) -// SYS___sysctlbyname +// SYS___sysctlbyname 570 // int sysctlbyname(const char *name, void *oldp, size_t *oldlenp, // const void *newp, size_t newlen); // syscalls.master: @@ -6206,7 +6206,11 @@ POST(sys___sysctlbyname) } } -// SYS___realpathat +#endif // (FREEBSD_VERS >= FREEBSD_12_2) + +#if (FREEBSD_VERS >= FREEBSD_13) + +// SYS___realpathat 474 // from syscalls.master // int __realpathat(int fd, // _In_z_ const char *path, @@ -6228,11 +6232,7 @@ POST(sys___realpathat) POST_MEM_WRITE((Addr)ARG3, ARG4); } -#endif // (FREEBSD_VERS >= FREEBSD_12_2) - -#if (FREEBSD_VERS >= FREEBSD_13) - -// SYS___specialfd +// SYS___specialfd 577 // syscalls.master // int __specialfd(int type, // _In_reads_bytes_(len) const void *req, @@ -6939,10 +6939,13 @@ const SyscallTableEntry ML_(syscall_table)[] = { // unimpl __NR_funlinkat 568 // unimpl __NR_copy_file_range 569 BSDXY(__NR___sysctlbyname, sys___sysctlbyname), // 570 + +#if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 BSDXY( __NR___realpathat, sys___realpathat), // 574 +#endif // unimpl __NR_close_range 575 #endif diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 35c3c85cf3..140ee82568 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -2035,9 +2035,6 @@ int main(void) GO(SYS___sysctlbyname, "(putnew) 4s 2m"); SY(SYS___sysctlbyname, x0, x0+1, NULL, NULL, x0+1, x0+2); FAIL; - - GO(SYS___realpathat, " 5s 2m"); - SY(SYS___realpathat, x0+0xffff, x0, x0, x0+100, x0+2); FAIL; #endif diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index aa214f5144..8e7f9fb145 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -5310,32 +5310,6 @@ Syscall param __sysctlbyname(newp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd ---------------------------------------------------------- -574: SYS___realpathat 5s 2m ---------------------------------------------------------- -Syscall param __realpathat(fd) contains uninitialised byte(s) - ... - -Syscall param __realpathat(path) contains uninitialised byte(s) - ... - -Syscall param __realpathat(buf) contains uninitialised byte(s) - ... - -Syscall param __realpathat(size) contains uninitialised byte(s) - ... - -Syscall param __realpathat(flags) contains uninitialised byte(s) - ... - -Syscall param __realpathat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param __realpathat(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - --------------------------------------------------------- 1: SYS_exit 1s 0m --------------------------------------------------------- diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 deleted file mode 100644 index 70919f47cb..0000000000 --- a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 +++ /dev/null @@ -1,5379 +0,0 @@ ---------------------------------------------------------- - 1: SYS_exit below ---------------------------------------------------------- ---------------------------------------------------------- - 2: SYS_fork other ---------------------------------------------------------- ---------------------------------------------------------- - 3: SYS_read 1+3s 0m ---------------------------------------------------------- -Syscall param (syscallno) contains uninitialised byte(s) - ... - -Syscall param read(buf) contains uninitialised byte(s) - ... - -Syscall param read(count) contains uninitialised byte(s) - ... - -Syscall param read(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 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 - ---------------------------------------------------------- - 5: SYS_open (2-args) 2s 1m ---------------------------------------------------------- -Syscall param open(filename) contains uninitialised byte(s) - ... - -Syscall param open(flags) contains uninitialised byte(s) - ... - -Syscall param open(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 5: SYS_open (3-args) 1s 0m ---------------------------------------------------------- -Syscall param open(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 6: SYS_close 1s 0m ---------------------------------------------------------- -Syscall param close(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 7: SYS_wait4 4s 2m ---------------------------------------------------------- -Syscall param wait4(pid) contains uninitialised byte(s) - ... - -Syscall param wait4(status) contains uninitialised byte(s) - ... - -Syscall param wait4(options) contains uninitialised byte(s) - ... - -Syscall param wait4(rusage) contains uninitialised byte(s) - ... - -Syscall param wait4(status) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param wait4(rusage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 9: SYS_link 2s 2m ---------------------------------------------------------- -Syscall param link(oldpath) contains uninitialised byte(s) - ... - -Syscall param link(newpath) contains uninitialised byte(s) - ... - -Syscall param link(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param link(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 10: SYS_unlink 1s 1m ---------------------------------------------------------- -Syscall param unlink(pathname) contains uninitialised byte(s) - ... - -Syscall param unlink(pathname) 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_fchdir 1s 0m ---------------------------------------------------------- -Syscall param fchdir(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 14: SYS_freebsd11_mknod 3s 1m ---------------------------------------------------------- -Syscall param mknod(pathname) contains uninitialised byte(s) - ... - -Syscall param mknod(mode) contains uninitialised byte(s) - ... - -Syscall param mknod(dev) contains uninitialised byte(s) - ... - -Syscall param mknod(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 15: SYS_chmod 2s 1m ---------------------------------------------------------- -Syscall param chmod(path) contains uninitialised byte(s) - ... - -Syscall param chmod(mode) contains uninitialised byte(s) - ... - -Syscall param chmod(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 16: SYS_chown 3s 1m ---------------------------------------------------------- -Syscall param chown(path) contains uninitialised byte(s) - ... - -Syscall param chown(owner) contains uninitialised byte(s) - ... - -Syscall param chown(group) contains uninitialised byte(s) - ... - -Syscall param chown(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 17: SYS_break 1s 1m ---------------------------------------------------------- -Syscall param brk(end_data_segment) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 20: SYS_getpid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 21: SYS_mount 4s 2m ---------------------------------------------------------- -Syscall param mount(type) contains uninitialised byte(s) - ... - -Syscall param mount(dir) contains uninitialised byte(s) - ... - -Syscall param mount(flags) contains uninitialised byte(s) - ... - -Syscall param mount(data) contains uninitialised byte(s) - ... - -Syscall param mount(type) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param mount(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 22: SYS_unmount 2s 1m ---------------------------------------------------------- -Syscall param unmount(dir) contains uninitialised byte(s) - ... - -Syscall param unmount(flags) contains uninitialised byte(s) - ... - -Syscall param unmount(path) 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_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 26: SYS_ptrace 4s 0m ---------------------------------------------------------- -Syscall param ptrace(request) contains uninitialised byte(s) - ... - -Syscall param ptrace(pid) contains uninitialised byte(s) - ... - -Syscall param ptrace(addr) contains uninitialised byte(s) - ... - -Syscall param ptrace(data) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 27: 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) - ... - ---------------------------------------------------------- - 28: 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) - ... - ---------------------------------------------------------- - 29: SYS_recvfrom 6+1s 0m ---------------------------------------------------------- -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 - -Syscall param socketcall.recvfrom(fromlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 30: SYS_accept 3+1s 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 socketcall.accept(addrlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 31: SYS_getpeername 3s 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 socketcall.getpeername(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 32: SYS_getsockname 3s 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 socketcall.getsockname(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 25: SYS_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 34: SYS_chflags 2s 1m ---------------------------------------------------------- -Syscall param chflags(path) contains uninitialised byte(s) - ... - -Syscall param chflags(flags) contains uninitialised byte(s) - ... - -Syscall param chflags(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 35: SYS_fchflags 2s 0m ---------------------------------------------------------- -Syscall param fchflags(fd) contains uninitialised byte(s) - ... - -Syscall param fchflags(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 36: SYS_sync 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 37: SYS_kill 2s 0m ---------------------------------------------------------- -Syscall param kill(pid) contains uninitialised byte(s) - ... - -Syscall param kill(signal) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 39: SYS_getppid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 41: SYS_dup 1s 0m ---------------------------------------------------------- -Syscall param dup(oldfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 42: SYS_freebsd10_pipe 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 43: SYS_getegid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 44: SYS_profil ni ---------------------------------------------------------- ---------------------------------------------------------- - 45: SYS_ktrace ni ---------------------------------------------------------- ---------------------------------------------------------- - 47: SYS_getgid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 49: SYS_getlogin 2s 1m ---------------------------------------------------------- -Syscall param getlogin(buf) contains uninitialised byte(s) - ... - -Syscall param getlogin(len) contains uninitialised byte(s) - ... - -Syscall param getlogin(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 50: SYS_setlogin 1s 1m ---------------------------------------------------------- -Syscall param setlogin(buf) contains uninitialised byte(s) - ... - -Syscall param setlogin(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 51: SYS_acct 1s 1m ---------------------------------------------------------- -Syscall param acct(filename) contains uninitialised byte(s) - ... - -Syscall param acct(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 53: 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 on thread 1's stack - -Syscall param sigaltstack(oss) points to unaddressable byte(s) - ... - Address 0x........ is on thread 1's stack - -Conditional jump or move depends on uninitialised value(s) - ... - ---------------------------------------------------------- - 54: SYS_ioctl 3s 1m ---------------------------------------------------------- - -More than 100 errors detected. Subsequent errors -will still be recorded, but in less detail than before. -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(generic) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 56: SYS_revoke 1s 1m ---------------------------------------------------------- -Syscall param revoke(path) contains uninitialised byte(s) - ... - -Syscall param revoke(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 57: SYS_symlink 2s 2m ---------------------------------------------------------- -Syscall param symlink(oldpath) contains uninitialised byte(s) - ... - -Syscall param symlink(newpath) contains uninitialised byte(s) - ... - -Syscall param symlink(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param symlink(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 58: SYS_readlink 3s 2m ---------------------------------------------------------- -Syscall param readlink(path) contains uninitialised byte(s) - ... - -Syscall param readlink(buf) contains uninitialised byte(s) - ... - -Syscall param readlink(bufsiz) contains uninitialised byte(s) - ... - -Syscall param readlink(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param readlink(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 59: SYS_execve 3s 1m ---------------------------------------------------------- -Syscall param execve(filename) 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 - ---------------------------------------------------------- - 65: SYS_msync 3s 1m ---------------------------------------------------------- -Syscall param msync(start) contains uninitialised byte(s) - ... - -Syscall param msync(length) contains uninitialised byte(s) - ... - -Syscall param msync(flags) contains uninitialised byte(s) - ... - -Syscall param msync(start) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 66: SYS_vfork other ---------------------------------------------------------- ---------------------------------------------------------- - 69: SYS_sbrk 1s 1m ---------------------------------------------------------- -Syscall param sbrk(incr) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 73: SYS_munmap 2s 0m ---------------------------------------------------------- -Syscall param munmap(start) contains uninitialised byte(s) - ... - -Syscall param munmap(length) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 74: 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) - ... - ---------------------------------------------------------- - 75: SYS_madvise 3s 0m ---------------------------------------------------------- -Syscall param madvise(start) contains uninitialised byte(s) - ... - -Syscall param madvise(length) contains uninitialised byte(s) - ... - -Syscall param madvise(advice) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 78: SYS_mincore 3s 1m ---------------------------------------------------------- -Syscall param mincore(start) contains uninitialised byte(s) - ... - -Syscall param mincore(length) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 79: 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 - ---------------------------------------------------------- - 80: 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 - ---------------------------------------------------------- - 81: SYS_getpgrp 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 82: SYS_setpgid 2s 0m ---------------------------------------------------------- -Syscall param setpgid(pid) contains uninitialised byte(s) - ... - -Syscall param setpgid(pgid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 83: SYS_setitimer 3s 2m ---------------------------------------------------------- -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 - ---------------------------------------------------------- - 85: SYS_swapon 1s 1m ---------------------------------------------------------- -Syscall param swapon(special) contains uninitialised byte(s) - ... - -Syscall param swapon(special) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 86: SYS_getitimer 2s 1m ---------------------------------------------------------- -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 - ---------------------------------------------------------- - 89: SYS_getdtablesize 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 90: SYS_dup2 2s 0m ---------------------------------------------------------- -Syscall param dup2(oldfd) contains uninitialised byte(s) - ... - -Syscall param dup2(newfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (GETFD) 2s 0m ---------------------------------------------------------- -Syscall param fcntl(fd) contains uninitialised byte(s) - ... - -Syscall param fcntl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (DUPFD) 1s 0m ---------------------------------------------------------- -Syscall param fcntl(arg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 93: SYS_select 5s 4m ---------------------------------------------------------- -Syscall param select(n) contains uninitialised byte(s) - ... - -Syscall param select(readfds) contains uninitialised byte(s) - ... - -Syscall param select(writefds) contains uninitialised byte(s) - ... - -Syscall param select(exceptfds) contains uninitialised byte(s) - ... - -Syscall param select(timeout) contains uninitialised byte(s) - ... - -Syscall param select(readfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(writefds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(exceptfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(timeout) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 95: SYS_fsync 1s 0m ---------------------------------------------------------- -Syscall param fsync(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 96: SYS_setpriority 3s 0m ---------------------------------------------------------- -Syscall param setpriority(which) contains uninitialised byte(s) - ... - -Syscall param setpriority(who) contains uninitialised byte(s) - ... - -Syscall param setpriority(prio) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 97: SYS_socket 3s 0m ---------------------------------------------------------- -Syscall param socket(domain) contains uninitialised byte(s) - ... - -Syscall param socket(type) contains uninitialised byte(s) - ... - -Syscall param socket(protocol) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 98: SYS_connect 3s 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) - ... - ---------------------------------------------------------- -100: SYS_getpriority 2s 0m ---------------------------------------------------------- -Syscall param getpriority(which) contains uninitialised byte(s) - ... - -Syscall param getpriority(who) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -104: SYS_bind 3s 0m ---------------------------------------------------------- -Syscall param bind(s) contains uninitialised byte(s) - ... - -Syscall param bind(addr) contains uninitialised byte(s) - ... - -Syscall param bind(addrlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -105: SYS_setsockopt 5s 0m ---------------------------------------------------------- -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) - ... - ---------------------------------------------------------- -106: SYS_listen 2s 0m ---------------------------------------------------------- -Syscall param listen(s) contains uninitialised byte(s) - ... - -Syscall param listen(backlog) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -116: SYS_gettimeofday 2s 2m ---------------------------------------------------------- -Syscall param gettimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param gettimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -117: SYS_getrusage 2s 1m ---------------------------------------------------------- -Syscall param getrusage(who) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -105: SYS_setsockopt 5s 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) - ... - ---------------------------------------------------------- -120: 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 - ---------------------------------------------------------- -121: 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 - ---------------------------------------------------------- -122: SYS_settimeofday 2s 2m ---------------------------------------------------------- -Syscall param settimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param settimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -123: SYS_fchown 3s 0m ---------------------------------------------------------- -Syscall param fchown(fd) contains uninitialised byte(s) - ... - -Syscall param fchown(owner) contains uninitialised byte(s) - ... - -Syscall param fchown(group) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -124: SYS_fchmod 2s 0m ---------------------------------------------------------- -Syscall param fchmod(fildes) contains uninitialised byte(s) - ... - -Syscall param fchmod(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -126: SYS_setreuid 2s 0m ---------------------------------------------------------- -Syscall param setreuid(ruid) contains uninitialised byte(s) - ... - -Syscall param setreuid(euid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -127: SYS_setregid 2s 0m ---------------------------------------------------------- -Syscall param setregid(rgid) contains uninitialised byte(s) - ... - -Syscall param setregid(egid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -128: SYS_rename 2s 2m ---------------------------------------------------------- -Syscall param rename(oldpath) contains uninitialised byte(s) - ... - -Syscall param rename(newpath) contains uninitialised byte(s) - ... - -Syscall param rename(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param rename(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -131: SYS_flock 2s 0m ---------------------------------------------------------- -Syscall param flock(fd) contains uninitialised byte(s) - ... - -Syscall param flock(operation) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -132: SYS_mkfifo 2s 1m ---------------------------------------------------------- -Syscall param mkfifo(path) contains uninitialised byte(s) - ... - -Syscall param mkfifo(mode) contains uninitialised byte(s) - ... - -Syscall param mkfifo(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -133: SYS_sendto 6s 0m ---------------------------------------------------------- -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) - ... - ---------------------------------------------------------- -135: SYS_socketpair 4s 1m ---------------------------------------------------------- -Syscall param socketpair(domain) contains uninitialised byte(s) - ... - -Syscall param socketpair(type) contains uninitialised byte(s) - ... - -Syscall param socketpair(protocol) contains uninitialised byte(s) - ... - -Syscall param socketpair(sv) contains uninitialised byte(s) - ... - -Syscall param socketcall.socketpair(sv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -136: SYS_mkdir 2s 1m ---------------------------------------------------------- -Syscall param mkdir(pathname) contains uninitialised byte(s) - ... - -Syscall param mkdir(mode) contains uninitialised byte(s) - ... - -Syscall param mkdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -137: SYS_rmdir 1s 1m ---------------------------------------------------------- -Syscall param rmdir(pathname) contains uninitialised byte(s) - ... - -Syscall param rmdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -138: SYS_utimes 2s 2m ---------------------------------------------------------- -Syscall param utimes(filename) contains uninitialised byte(s) - ... - -Syscall param utimes(tvp) contains uninitialised byte(s) - ... - -Syscall param utimes(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[0]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[1]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -140: SYS_adjtime 2s 1m ---------------------------------------------------------- -Syscall param adjtime(delta) contains uninitialised byte(s) - ... - -Syscall param adjtime(olddelta) contains uninitialised byte(s) - ... - -Syscall param adjtime(delta) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -147: SYS_setsid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAOFF) 2s 0m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAON) 4s 2m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - -Syscall param quotactl(id) contains uninitialised byte(s) - ... - -Syscall param quotactl(addr) contains uninitialised byte(s) - ... - -Syscall param quotactl(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -160: SYS_lgetfh 2s 2m ---------------------------------------------------------- -Syscall param lgetfh(path) contains uninitialised byte(s) - ... - -Syscall param lgetfh(fhp) contains uninitialised byte(s) - ... - -Syscall param lgetfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lgetfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -161: SYS_getfh 2s 2m ---------------------------------------------------------- -Syscall param getfh(path) contains uninitialised byte(s) - ... - -Syscall param getfh(fhp) contains uninitialised byte(s) - ... - -Syscall param getfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 1m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - -Syscall param i386_get_gsbase(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 0m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -166: SYS_rtprio (GET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#lookup) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -166: SYS_rtprio (SET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#set) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -175: SYS_setfib 1s 0m ---------------------------------------------------------- -Syscall param setfib(fib) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -181: SYS_setgid 1s 0m ---------------------------------------------------------- -Syscall param setgid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -182: SYS_setegid 1s 0m ---------------------------------------------------------- -Syscall param setegid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -183: SYS_seteuid 1s 0m ---------------------------------------------------------- -Syscall param seteuid(uid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -188: SYS_freebsd11_stat 2s 2m ---------------------------------------------------------- -Syscall param stat(path) contains uninitialised byte(s) - ... - -Syscall param stat(sb) contains uninitialised byte(s) - ... - -Syscall param stat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param stat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -189: SYS_freebsd11_fstat 2s 1m ---------------------------------------------------------- -Syscall param fstat(fd) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -190: SYS_freebsd11_lstat 2s 2m ---------------------------------------------------------- -Syscall param lstat(path) contains uninitialised byte(s) - ... - -Syscall param lstat(sb) contains uninitialised byte(s) - ... - -Syscall param lstat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -191: 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 - ---------------------------------------------------------- -192: SYS_fpathconf 2s 0m ---------------------------------------------------------- -Syscall param fpathconf(fd) contains uninitialised byte(s) - ... - -Syscall param fpathconf(name) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -194: 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 - ---------------------------------------------------------- -195: 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 - ---------------------------------------------------------- -196:SYS_freebsd11_getdirentries 4s 2m ---------------------------------------------------------- -Syscall param getdirentries(fd) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) contains uninitialised byte(s) - ... - -Syscall param getdirentries(nbytes) contains uninitialised byte(s) - ... - -Syscall param getdirentries(basep) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getdirentries(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getoldlen) 3s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getold) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Warning: Bad oldlenp address 0x........ in sysctl ---------------------------------------------------------- -202: SYS___sysctl (putnew) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(newp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -203: SYS_mlock 2s 0m ---------------------------------------------------------- -Syscall param mlock(addr) contains uninitialised byte(s) - ... - -Syscall param mlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -204: SYS_munlock 2s 0m ---------------------------------------------------------- -Syscall param munlock(addr) contains uninitialised byte(s) - ... - -Syscall param munlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -205: SYS_undelete 1s 1m ---------------------------------------------------------- -Syscall param undelete(path) contains uninitialised byte(s) - ... - -Syscall param undelete(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -206: SYS_futimes 2s 0m ---------------------------------------------------------- -Syscall param futimes(fd) contains uninitialised byte(s) - ... - -Syscall param futimes(times) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -207: SYS_getpgid 1s 0m ---------------------------------------------------------- -Syscall param getpgid(pid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -209: SYS_poll 3s 3m ---------------------------------------------------------- -Syscall param poll(ufds) contains uninitialised byte(s) - ... - -Syscall param poll(nfds) contains uninitialised byte(s) - ... - -Syscall param poll(timeout) 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 - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (IPC_INFO) 4s 1m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - -Syscall param semctl(arg) contains uninitialised byte(s) - ... - -Syscall param semctl(IPC_INFO, arg.buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (bogus cmd) 3s 0m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -221: SYS_semget 3s 0m ---------------------------------------------------------- -Syscall param semget(key) contains uninitialised byte(s) - ... - -Syscall param semget(nsems) contains uninitialised byte(s) - ... - -Syscall param semget(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -222: SYS_semop 3s 0m ---------------------------------------------------------- -Syscall param semop(semid) contains uninitialised byte(s) - ... - -Syscall param semop(array) contains uninitialised byte(s) - ... - -Syscall param semop(nops) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (set) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_SET, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (stat) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_STAT, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -225: SYS_msgget 2s 0m ---------------------------------------------------------- -Syscall param msgget(key) contains uninitialised byte(s) - ... - -Syscall param msgget(msgflg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -226: SYS_msgsnd 4s 1m ---------------------------------------------------------- -Syscall param msgsnd(msqid) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgsz) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgflg) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp->mtype) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -227: ... [truncated message content] |
|
From: Paul F. <pa...@so...> - 2021-12-11 11:37:43
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=bb178889c739203464242c60161927c07bf94722 commit bb178889c739203464242c60161927c07bf94722 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 12:32:08 2021 +0100 Bug 446823 FreeBSD - missing syscalls when using libzm4 Adds syscall wrappers for __specialfd and __realpathat. Also remove kernel dependency on COMPAT_FREEBSD10. This change also reorganizes somewhat the scalar test and adds configure time checks for the FreeBSD version, allowing regression tests to be compiled depending on the FreeBSD release. From now on, scalar.c will contain syscalls for FreeBSD 11 and 12 and subsequent releases will get their own scalar, starting with scalar_13_plus.c. Diff: --- NEWS | 1 + configure.ac | 31 +++++ coregrind/m_libcfile.c | 4 + coregrind/m_syswrap/priv_syswrap-freebsd.h | 9 +- coregrind/m_syswrap/syswrap-freebsd.c | 48 ++++++- include/vki/vki-scnums-freebsd.h | 5 - memcheck/tests/freebsd/Makefile.am | 16 ++- memcheck/tests/freebsd/eventfd1.c | 58 ++++++++ memcheck/tests/freebsd/eventfd1.stderr.exp | 0 memcheck/tests/freebsd/eventfd1.stdout.exp | 4 + memcheck/tests/freebsd/eventfd1.vgtest | 5 + memcheck/tests/freebsd/eventfd2.c | 99 ++++++++++++++ memcheck/tests/freebsd/eventfd2.stderr.exp | 0 memcheck/tests/freebsd/eventfd2.stdout.exp | 26 ++++ memcheck/tests/freebsd/eventfd2.vgtest | 3 + memcheck/tests/freebsd/realpathat.c | 33 +++++ memcheck/tests/freebsd/realpathat.stderr.exp | 162 +++++++++++++++++++++++ memcheck/tests/freebsd/realpathat.vgtest | 3 + memcheck/tests/freebsd/scalar.c | 3 + memcheck/tests/freebsd/scalar.stderr.exp | 26 ++++ memcheck/tests/freebsd/scalar_13_plus.c | 15 +++ memcheck/tests/freebsd/scalar_13_plus.stderr.exp | 16 +++ memcheck/tests/freebsd/scalar_13_plus.vgtest | 12 ++ 23 files changed, 560 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index 5a15158403..ad49b98d3f 100644 --- a/NEWS +++ b/NEWS @@ -59,6 +59,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 446138 DRD/Helgrind with std::timed_mutex::try_lock_until false positives 446281 Add a DRD suppression for fwrite 446103 Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap +446823 FreeBSD - missing syscalls when using libzm4 To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/configure.ac b/configure.ac index 96df114bae..56a1d7e766 100755 --- a/configure.ac +++ b/configure.ac @@ -387,11 +387,17 @@ case "${host_os}" in AC_MSG_RESULT([ok (${host_os})]) VGCONF_OS="freebsd" AC_DEFINE([FREEBSD_10], 1000, [FREEBSD_VERS value for FreeBSD 10.x]) + freebsd_10=1000 AC_DEFINE([FREEBSD_11], 1100, [FREEBSD_VERS value for FreeBSD 11.x]) + freebsd_11=1100 AC_DEFINE([FREEBSD_12], 1200, [FREEBSD_VERS value for FreeBSD 12.0 to 12.1]) + freebsd_12=1200 AC_DEFINE([FREEBSD_12_2], 1220, [FREEBSD_VERS value for FreeBSD 12.2]) + freebsd_12_2=1220 AC_DEFINE([FREEBSD_13], 1300, [FREEBSD_VERS value for FreeBSD 13.x]) + freebsd_13=1300 AC_DEFINE([FREEBSD_14], 1400, [FREEBSD_VERS value for FreeBSD 14.x]) + freebsd_14=1400 AC_MSG_CHECKING([for the kernel version]) kernel=`uname -r` @@ -400,30 +406,36 @@ case "${host_os}" in 10.*) AC_MSG_RESULT([FreeBSD 10.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_10, [FreeBSD version]) + freebsd_vers=$freebsd_10 ;; 11.*) AC_MSG_RESULT([FreeBSD 11.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_11, [FreeBSD version]) + freebsd_vers=$freebsd_11 ;; 12.*) case "${kernel}" in 12.[[0-1]]-*) AC_MSG_RESULT([FreeBSD 12.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_12, [FreeBSD version]) + freebsd_vers=$freebsd_12 ;; *) AC_MSG_RESULT([FreeBSD 12.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_12_2, [FreeBSD version]) + freebsd_vers=$freebsd_12_2 ;; esac ;; 13.*) AC_MSG_RESULT([FreeBSD 13.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_13, [FreeBSD version]) + freebsd_vers=$freebsd_13 ;; 14.*) AC_MSG_RESULT([FreeBSD 14.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_14, [FreeBSD version]) + freebsd_vers=$freebsd_14 ;; *) AC_MSG_RESULT([unsupported (${kernel})]) @@ -4602,6 +4614,25 @@ AM_CONDITIONAL(SOLARIS_RESERVE_SYSSTAT_ZONE_ADDR, false) AM_CONDITIONAL(SOLARIS_SYSTEM_STATS_SYSCALL, false) fi # test "$VGCONF_OS" = "solaris" +#---------------------------------------------------------------------------- +# FreeBSD-specific checks. +#---------------------------------------------------------------------------- + +# Rather than having a large number of feature test as above with Solaris +# these tests are per-version. This may not be entirely relialable for +# FreeBSD development branches (XX.Y-CURRENT) or pre-release branches +# (XX.Y-STABLE) but it should work for XX-Y-RELEASE + +if test "$VGCONF_OS" = "freebsd" ; then + +AM_CONDITIONAL(FREEBSD_VERS_13_PLUS, test $freebsd_vers -ge $freebsd_13) + +else + +AM_CONDITIONAL(FREEBSD_VERS_13_PLUS, false) + +fi # test "$VGCONF_OS" = "freebsd" + #---------------------------------------------------------------------------- # Checks for C header files. diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c index 5f9c76efe5..94c2f030ac 100644 --- a/coregrind/m_libcfile.c +++ b/coregrind/m_libcfile.c @@ -331,11 +331,15 @@ Int VG_(pipe) ( Int fd[2] ) SysRes res = VG_(do_syscall1)(__NR_pipe, (UWord)fd); return sr_isError(res) ? -1 : 0; # elif defined(VGO_freebsd) +#if defined(__NR_pipe2) + SysRes res = VG_(do_syscall2)(__NR_pipe2, (UWord)fd, 0); +#else SysRes res = VG_(do_syscall0)(__NR_freebsd10_pipe); if (!sr_isError(res)) { fd[0] = sr_Res(res); fd[1] = sr_ResHI(res); } +#endif return sr_isError(res) ? -1 : 0; # elif defined(VGO_darwin) /* __NR_pipe is UX64, so produces a double-word result */ diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index 0b60467df1..79a1d9502f 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -526,7 +526,7 @@ DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 -// unimpl __NR___realpathat 574 +DECL_TEMPLATE(freebsd, sys___realpathat) // 574 // unimpl __NR_close_range 575 #endif @@ -534,12 +534,7 @@ DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 #if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_rpctls_syscall 576 - -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - -// unimpl __NR___specialfd 577 +DECL_TEMPLATE(freebsd, sys___specialfd) // 577 // unimpl __NR_aio_writev 578 // unimpl __NR_aio_readv 579 diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 5eb0b5b134..4f1574c353 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -6206,7 +6206,46 @@ POST(sys___sysctlbyname) } } -#endif +// SYS___realpathat +// from syscalls.master +// int __realpathat(int fd, +// _In_z_ const char *path, +// _Out_writes_z_(size) char *buf, +// size_t size, +// int flags) +PRE(sys___realpathat) +{ + PRINT("sys___realpathat ( %" FMT_REGWORD "d, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %" FMT_REGWORD "u %" FMT_REGWORD "d )", + SARG1,ARG2,(const char*)ARG2,ARG3,ARG4,SARG5 ); + PRE_REG_READ5(int, "__realpathat", int, fd, const char *, path, + char *, buf, vki_size_t, size, int, flags); + PRE_MEM_RASCIIZ("__realpathat(path)", (Addr)ARG2); + PRE_MEM_WRITE("__realpathat(buf)", (Addr)ARG3, ARG4); +} + +POST(sys___realpathat) +{ + POST_MEM_WRITE((Addr)ARG3, ARG4); +} + +#endif // (FREEBSD_VERS >= FREEBSD_12_2) + +#if (FREEBSD_VERS >= FREEBSD_13) + +// SYS___specialfd +// syscalls.master +// int __specialfd(int type, +// _In_reads_bytes_(len) const void *req, +// size_t len); +PRE(sys___specialfd) +{ + PRINT("sys___specialfd ( %" FMT_REGWORD "d, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u )", + SARG1,ARG2,(const char*)ARG2,ARG3 ); + PRE_REG_READ3(int, "__specialfd", int, type, const void *, req, vki_size_t, len); + PRE_MEM_READ("__specialfd(req)", (Addr)ARG2, ARG3); +} + +#endif // (FREEBSD_VERS >= FREEBSD_13) #undef PRE #undef POST @@ -6903,16 +6942,13 @@ const SyscallTableEntry ML_(syscall_table)[] = { // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 - // unimpl __NR___realpathat 574 + BSDXY( __NR___realpathat, sys___realpathat), // 574 // unimpl __NR_close_range 575 #endif #if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_rpctls_syscall 576 -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - // unimpl __NR___specialfd 577 + BSDX_(__NR___specialfd, sys___specialfd), // 577 // unimpl __NR_aio_writev 578 // unimpl __NR_aio_readv 579 #endif diff --git a/include/vki/vki-scnums-freebsd.h b/include/vki/vki-scnums-freebsd.h index 3ea7d460e3..f3247e5376 100644 --- a/include/vki/vki-scnums-freebsd.h +++ b/include/vki/vki-scnums-freebsd.h @@ -643,11 +643,6 @@ #if (FREEBSD_VERS >= FREEBSD_13) #define __NR_rpctls_syscall 576 - -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - #define __NR___specialfd 577 #define __NR_aio_writev 578 #define __NR_aio_readv 579 diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index e05542d818..f3bd873d76 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -72,7 +72,15 @@ EXTRA_DIST = \ static_allocs.vgtest \ static_allocs.stderr.exp \ fexecve.vgtest \ - fexecve.stderr.exp + fexecve.stderr.exp \ + realpathat.vgtest \ + realpathat.stderr.exp \ + scalar_13_plus.vgtest \ + scalar_13_plus.stderr.exp \ + eventfd1.vgtest \ + eventfd1.stderr.exp eventfd1.stdout.exp \ + eventfd2.vgtest \ + eventfd2.stderr.exp eventfd2.stdout.exp check_PROGRAMS = \ statfs pdfork_pdkill getfsstat inlinfo inlinfo_nested.so extattr \ @@ -92,4 +100,10 @@ inlinfo_nested_so_SOURCES = inlinfo_nested.c inlinfo_nested_so_CFLAGS = $(AM_CFLAGS) -fPIC @FLAG_W_NO_UNINITIALIZED@ inlinfo_nested_so_LDFLAGS = -Wl,-rpath,$(top_builddir)/memcheck/tests/freebsd -shared -fPIC +if FREEBSD_VERS_13_PLUS +check_PROGRAMS += realpathat scalar_13_plus eventfd1 eventfd2 + +scalar_13_plus_CFLAGS = ${AM_CFLAGS} -g +endif + scalar_CFLAGS = ${AM_CFLAGS} -g diff --git a/memcheck/tests/freebsd/eventfd1.c b/memcheck/tests/freebsd/eventfd1.c new file mode 100644 index 0000000000..91f148f5f8 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.c @@ -0,0 +1,58 @@ +#include <sys/eventfd.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdio.h> + +#define handle_error(msg) \ +do { \ +perror(msg); \ +exit(EXIT_FAILURE); \ +} while (0) + +int +main(int argc, char *argv[]) +{ + eventfd_t u; + int efd, j; + int error; + + if (argc < 2) { + fprintf(stderr, "Usage: %s <num>...\n", argv[0]); + exit(EXIT_FAILURE); + } + + efd = eventfd(0, EFD_CLOEXEC); + if (efd == -1) + handle_error("eventfd"); + + switch (fork()) { + case 0: + for (j = 1; j < argc; j++) { + printf("Child writing %s to efd\n", argv[j]); + u = strtoull(argv[j], NULL, 0); + + error = eventfd_write(efd, u); + if (error != 0) + handle_error("write"); + } + printf("Child completed write loop\n"); + + exit(EXIT_SUCCESS); + + default: + sleep(2); + + printf("Parent about to read\n"); + error = eventfd_read(efd, &u); + if (error != 0) + handle_error("read"); + printf("Parent read %llu (0x%llx) from efd\n", + (unsigned long long) u, (unsigned long long) u); + exit(EXIT_SUCCESS); + + case -1: + + handle_error("fork"); + + } +} diff --git a/memcheck/tests/freebsd/eventfd1.stderr.exp b/memcheck/tests/freebsd/eventfd1.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/freebsd/eventfd1.stdout.exp b/memcheck/tests/freebsd/eventfd1.stdout.exp new file mode 100644 index 0000000000..f2e4280ef2 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.stdout.exp @@ -0,0 +1,4 @@ +Child writing 2 to efd +Child completed write loop +Parent about to read +Parent read 2 (0x2) from efd diff --git a/memcheck/tests/freebsd/eventfd1.vgtest b/memcheck/tests/freebsd/eventfd1.vgtest new file mode 100644 index 0000000000..8e35dce8be --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.vgtest @@ -0,0 +1,5 @@ +prereq: test -e ./eventfd1 +prog: eventfd1 +args: 2 +vgopts: -q + diff --git a/memcheck/tests/freebsd/eventfd2.c b/memcheck/tests/freebsd/eventfd2.c new file mode 100644 index 0000000000..8e2309f96d --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.c @@ -0,0 +1,99 @@ +/* EFD_SEMAPHORE */ + +#include <sys/eventfd.h> +#include <sys/wait.h> +#include <inttypes.h> +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> + +static void xsem_wait(int fd) +{ + eventfd_t cntr; + + if (eventfd_read(fd, &cntr) != 0) { + perror("reading eventfd"); + exit(1); + } + + fprintf(stdout, "wait completed on %d: count=%" PRIu64 "\n", + fd, cntr); +} + +static void xsem_post(int fd, int count) +{ + eventfd_t cntr = count; + + if (eventfd_write(fd, cntr) != 0) { + perror("writing eventfd"); + exit(1); + } +} + +static void sem_player(int fd1, int fd2) +{ + /* these printfs did contain the pid + * so "[%u] ... ", getpid() + * not good for regresson tests + * (also xsem_wait above) + */ + fprintf(stdout, "posting 1 on %d\n", fd1); + xsem_post(fd1, 1); + + fprintf(stdout, "waiting on %d\n", fd2); + xsem_wait(fd2); + + fprintf(stdout, "posting 1 on %d\n", fd1); + xsem_post(fd1, 1); + + fprintf(stdout, "waiting on %d\n", fd2); + xsem_wait(fd2); + + fprintf(stdout, "posting 5 on %d\n", fd1); + xsem_post(fd1, 5); + + fprintf(stdout, "waiting 5 times on %d\n", fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); +} + +static void usage(char const *prg) +{ + fprintf(stderr, "use: %s [-h]\n", prg); +} + +int main(int argc, char **argv) +{ + int c, fd1, fd2, status; + pid_t cpid_poster, cpid_waiter; + + while ((c = getopt(argc, argv, "h")) != -1) { + + switch (c) { + default: + usage(argv[0]); + return 1; + } + } + + if ((fd1 = eventfd(0, EFD_SEMAPHORE)) == -1 || + (fd2 = eventfd(0, EFD_SEMAPHORE)) == -1) { + perror("eventfd"); + return 1; + } + if ((cpid_poster = fork()) == 0) { + sem_player(fd1, fd2); + exit(0); + } + if ((cpid_waiter = fork()) == 0) { + sem_player(fd2, fd1); + exit(0); + } + waitpid(cpid_poster, &status, 0); + waitpid(cpid_waiter, &status, 0); + + exit(0); +} diff --git a/memcheck/tests/freebsd/eventfd2.stderr.exp b/memcheck/tests/freebsd/eventfd2.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/freebsd/eventfd2.stdout.exp b/memcheck/tests/freebsd/eventfd2.stdout.exp new file mode 100644 index 0000000000..6a2cd1944e --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.stdout.exp @@ -0,0 +1,26 @@ +posting 1 on 3 +waiting on 4 +wait completed on 4: count=1 +posting 1 on 3 +waiting on 4 +wait completed on 4: count=1 +posting 5 on 3 +waiting 5 times on 4 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +posting 1 on 4 +waiting on 3 +wait completed on 3: count=1 +posting 1 on 4 +waiting on 3 +wait completed on 3: count=1 +posting 5 on 4 +waiting 5 times on 3 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 diff --git a/memcheck/tests/freebsd/eventfd2.vgtest b/memcheck/tests/freebsd/eventfd2.vgtest new file mode 100644 index 0000000000..7dd3ad1ea8 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.vgtest @@ -0,0 +1,3 @@ +prog: eventfd2 +prereq: test -e ./eventfd2 +vgopts: -q diff --git a/memcheck/tests/freebsd/realpathat.c b/memcheck/tests/freebsd/realpathat.c new file mode 100644 index 0000000000..218fd75cb2 --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.c @@ -0,0 +1,33 @@ +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#include <sys/syscall.h> +#include <unistd.h> +#include <sys/fcntl.h> + +int main(void) +{ + // good + char buf[PATH_MAX]; + char* self_path = "../../tests/freebsd/realpath.c"; + realpath(self_path, buf); + + // bad + int * bad_int1 = malloc(sizeof(char)); + int * bad_int2 = malloc(sizeof(char)); + *bad_int1 = AT_FDCWD; + *bad_int2 = 0; + syscall(SYS___realpathat, *bad_int1, self_path, buf, *bad_int2); + free(bad_int1); + free(bad_int2); + + // ugly + char * bad_buf = malloc(100); + char* bad_buf2 = strdup(self_path); + free(bad_buf); + free(bad_buf2); + // fingers crossed + realpath(bad_buf2, bad_buf); + + +} diff --git a/memcheck/tests/freebsd/realpathat.stderr.exp b/memcheck/tests/freebsd/realpathat.stderr.exp new file mode 100644 index 0000000000..575f1e6a98 --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.stderr.exp @@ -0,0 +1,162 @@ +Invalid write of size 4 + at 0x........: main (realpathat.c:18) + Address 0x........ is 0 bytes inside a block of size 1 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:16) + +Invalid write of size 4 + at 0x........: main (realpathat.c:19) + Address 0x........ is 0 bytes inside a block of size 1 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:17) + +Syscall param __realpathat(fd) contains uninitialised byte(s) + ... + by 0x........: main (realpathat.c:20) + +Syscall param __realpathat(size) contains uninitialised byte(s) + ... + by 0x........: main (realpathat.c:20) + +Invalid read of size 1 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __realpathat(path) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __realpathat(buf) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __getcwd(buf) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 1 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 30 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid write of size 2 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 55 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid write of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid write of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 66 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Syscall param fstatat(path) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + diff --git a/memcheck/tests/freebsd/realpathat.vgtest b/memcheck/tests/freebsd/realpathat.vgtest new file mode 100644 index 0000000000..9efbcbdfcf --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.vgtest @@ -0,0 +1,3 @@ +prog: realpathat +prereq: test -e ./realpathat +vgopts: -q diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 140ee82568..35c3c85cf3 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -2035,6 +2035,9 @@ int main(void) GO(SYS___sysctlbyname, "(putnew) 4s 2m"); SY(SYS___sysctlbyname, x0, x0+1, NULL, NULL, x0+1, x0+2); FAIL; + + GO(SYS___realpathat, " 5s 2m"); + SY(SYS___realpathat, x0+0xffff, x0, x0, x0+100, x0+2); FAIL; #endif diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 8e7f9fb145..aa214f5144 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -5310,6 +5310,32 @@ Syscall param __sysctlbyname(newp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd +--------------------------------------------------------- +574: SYS___realpathat 5s 2m +--------------------------------------------------------- +Syscall param __realpathat(fd) contains uninitialised byte(s) + ... + +Syscall param __realpathat(path) contains uninitialised byte(s) + ... + +Syscall param __realpathat(buf) contains uninitialised byte(s) + ... + +Syscall param __realpathat(size) contains uninitialised byte(s) + ... + +Syscall param __realpathat(flags) contains uninitialised byte(s) + ... + +Syscall param __realpathat(path) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param __realpathat(buf) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + --------------------------------------------------------- 1: SYS_exit 1s 0m --------------------------------------------------------- diff --git a/memcheck/tests/freebsd/scalar_13_plus.c b/memcheck/tests/freebsd/scalar_13_plus.c new file mode 100644 index 0000000000..1183d4e233 --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.c @@ -0,0 +1,15 @@ +#include "scalar.h" + +int main(void) +{ + long *px = malloc(2*sizeof(long)); + x0 = px[0]; + + + /* SYS___specialfd 574 */ + GO(SYS___specialfd, "3s 1m"); + SY(SYS___specialfd, x0+0xf000, x0+1, x0+10); FAIL; + + return(0); +} + diff --git a/memcheck/tests/freebsd/scalar_13_plus.stderr.exp b/memcheck/tests/freebsd/scalar_13_plus.stderr.exp new file mode 100644 index 0000000000..2df127e8a6 --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.stderr.exp @@ -0,0 +1,16 @@ +--------------------------------------------------------- +577: SYS___specialfd 3s 1m +--------------------------------------------------------- +Syscall param __specialfd(type) contains uninitialised byte(s) + ... + +Syscall param __specialfd(req) contains uninitialised byte(s) + ... + +Syscall param __specialfd(len) contains uninitialised byte(s) + ... + +Syscall param __specialfd(req) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + diff --git a/memcheck/tests/freebsd/scalar_13_plus.vgtest b/memcheck/tests/freebsd/scalar_13_plus.vgtest new file mode 100644 index 0000000000..09dc90e90b --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.vgtest @@ -0,0 +1,12 @@ +prereq: test -e ./scalar_13_plus +prog: scalar_13_plus +vgopts: -q --error-limit=no +stderr_filter: filter_scalar +# Remove all frames from the stack trace except the first one. +# This is important because syscall() function on x86 isn't ABI conformant +# which confuses the Valgrind stack unwinder. +# Therefore x86 and amd64 stack traces are unified so that they contain only +# 'syscall (in libc)' stack frame and this is then filtered out completely. +stderr_filter_args: libc +args: < scalar_13_plus.c + |