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
(83) |
Oct
(89) |
Nov
(97) |
Dec
(30) |
2024 |
Jan
(25) |
Feb
(73) |
Mar
(76) |
Apr
(122) |
May
(46) |
Jun
(44) |
Jul
(27) |
Aug
(30) |
Sep
(33) |
Oct
(67) |
Nov
(91) |
Dec
(70) |
2025 |
Jan
(44) |
Feb
(36) |
Mar
(85) |
Apr
(100) |
May
(138) |
Jun
(55) |
Jul
(107) |
Aug
(54) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Mark W. <ma...@so...> - 2024-10-11 22:06:35
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ff96f07bc9b97d15bbb05b470f06d46d52c190be commit ff96f07bc9b97d15bbb05b470f06d46d52c190be Author: Alexandra Hájková <aha...@re...> Date: Tue Jun 25 11:27:16 2024 -0400 Add BadFdExtra core error. Introduce a new FdBadFd type with associated extra info struct. Which for now just holds the fd number (no path or description). fd_pp_Error and fd_update_extra have been updated to handle the new type and produce xml when requested. Rename showing_core_errors to showing_core_warning (returns yes when the tools wants to show core errors, -q isn't given and we aren't producing xml). In ML_(fd_allowed) we now call VG_(maybe_record_error) to generate a real error (that can be suppressed and shows up in the xml output with full execution backtrace). For now we also produce the legacy warnings when --track-fds=yes isn't given. Add none/tests/fdbaduse.vgtest to test the new FdBadUse core error. This is the first part of reporting bad fd usage errors. We are also tracking already closed file descriptors which should also produce errors like these. The current bad file descriptors are just those that are negative or above the current file limit of the process. https://bugs.kde.org/show_bug.cgi?id=493418 Diff: --- NEWS | 6 ++++ coregrind/m_errormgr.c | 11 ++++++-- coregrind/m_signals.c | 6 ++-- coregrind/m_syswrap/syswrap-generic.c | 53 ++++++++++++++++++++++++++--------- coregrind/pub_core_errormgr.h | 3 +- none/tests/Makefile.am | 6 ++-- none/tests/fdbaduse.c | 10 +++++++ none/tests/fdbaduse.stderr.exp | 3 ++ none/tests/fdbaduse.vgtest | 3 ++ 9 files changed, 78 insertions(+), 23 deletions(-) diff --git a/NEWS b/NEWS index 76cec58be9..a0b02faf31 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,12 @@ AMD64/macOS 10.13 and nanoMIPS/Linux. * ==================== CORE CHANGES =================== +* Bad file descriptor usage now generates a real error with + --track-fds=yes that is suppressible and shows up in the xml output + with full execution backtrace. The warnings shown without using the + option are deprecated and will be removed in a future valgrind + version. + * ================== PLATFORM CHANGES ================= * S390X added support for the DFLTCC instruction provided by the diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c index 4984d30aba..4bbcea0247 100644 --- a/coregrind/m_errormgr.c +++ b/coregrind/m_errormgr.c @@ -297,9 +297,9 @@ void VG_(set_supp_extra) ( Supp* su, void* extra ) /*--- Helper fns ---*/ /*------------------------------------------------------------*/ -// Only show core errors if the tool wants to, we're not running with -q, +// Only show core warnings if the tool wants to, we're not running with -q, // and were not outputting XML. -Bool VG_(showing_core_errors)(void) +Bool VG_(showing_core_warnings)(void) { return VG_(needs).core_errors && VG_(clo_verbosity) >= 1 && !VG_(clo_xml); } @@ -967,7 +967,8 @@ Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind, Addr a, const HChar* s, static Bool is_fd_core_error (const Error *e) { - return e->ekind == FdBadClose || e->ekind == FdNotClosed; + return e->ekind == FdBadClose || e->ekind == FdNotClosed || + e->ekind == FdBadUse; } static Bool core_eq_Error (VgRes res, const Error *e1, const Error *e2) @@ -1017,6 +1018,8 @@ static const HChar *core_get_error_name(const Error *err) return "FdBadClose"; case FdNotClosed: return "FdNotClosed"; + case FdBadUse: + return "FdBadUse"; default: VG_(umsg)("FATAL: unknown core error kind: %d\n", err->ekind ); VG_(exit)(1); @@ -1030,6 +1033,8 @@ static Bool core_error_matches_suppression(const Error* err, const Supp* su) return err->ekind == FdBadClose; case FdNotClosedSupp: return err->ekind == FdNotClosed; + case FdBadUse: + return err->ekind == FdBadUse; default: VG_(umsg)("FATAL: unknown core suppression kind: %d\n", su->skind ); VG_(exit)(1); diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c index 09acb7cb7a..66fbbfe721 100644 --- a/coregrind/m_signals.c +++ b/coregrind/m_signals.c @@ -1336,13 +1336,13 @@ SysRes VG_(do_sys_sigaction) ( Int signo, return VG_(mk_SysRes_Success)( 0 ); bad_signo: - if (VG_(showing_core_errors)() && !VG_(clo_xml)) { + if (VG_(showing_core_warnings)()) { VG_(umsg)("Warning: bad signal number %d in sigaction()\n", signo); } return VG_(mk_SysRes_Error)( VKI_EINVAL ); bad_signo_reserved: - if (VG_(showing_core_errors)() && !VG_(clo_xml)) { + if (VG_(showing_core_warnings)()) { VG_(umsg)("Warning: ignored attempt to set %s handler in sigaction();\n", VG_(signame)(signo)); VG_(umsg)(" the %s signal is used internally by Valgrind\n", @@ -1351,7 +1351,7 @@ SysRes VG_(do_sys_sigaction) ( Int signo, return VG_(mk_SysRes_Error)( VKI_EINVAL ); bad_sigkill_or_sigstop: - if (VG_(showing_core_errors)() && !VG_(clo_xml)) { + if (VG_(showing_core_warnings)()) { VG_(umsg)("Warning: ignored attempt to set %s handler in sigaction();\n", VG_(signame)(signo)); VG_(umsg)(" the %s signal is uncatchable\n", diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 5434a68369..26e14d4943 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -591,6 +591,10 @@ struct BadCloseExtra { ExeContext *where_opened; /* recordwhere the fd was opened */ }; +struct FdBadUse { + Int fd; /* The file descriptor */ +}; + struct NotClosedExtra { Int fd; HChar *pathname; @@ -1136,7 +1140,7 @@ void fd_pp_Error (const Error *err) } VG_(emit)("%sFile descriptor %d: %s is already closed%s\n", whatpre, bce->fd, bce->description, whatpost); - VG_(pp_ExeContext)( VG_(get_error_where)(err) ); + VG_(pp_ExeContext)( where ); VG_(emit)("%sPreviously closed%s\n", auxpre, auxpost); VG_(pp_ExeContext)(bce->where_closed); VG_(emit)("%sOriginally opened%s\n", auxpre, auxpost); @@ -1158,6 +1162,13 @@ void fd_pp_Error (const Error *err) VG_(message)(Vg_UserMsg, " <inherited from parent>\n"); VG_(message)(Vg_UserMsg, "\n"); } + } else if (VG_(get_error_kind)(err) == FdBadUse) { + if (xml) VG_(emit)(" <kind>FdBadUse</kind>\n"); + struct FdBadUse *nce = (struct FdBadUse *) + VG_(get_error_extra)(err); + if (xml) VG_(emit)(" <fd>%d</fd>\n", nce->fd); + VG_(emit)("%sInvalid file descriptor %d%s\n", whatpre, nce->fd, whatpost); + VG_(pp_ExeContext)(where); } else { vg_assert2 (False, "Unknown error kind: %d", VG_(get_error_kind)(err)); @@ -1172,6 +1183,8 @@ UInt fd_update_extra (const Error *err) return sizeof (struct BadCloseExtra); else if (VG_(get_error_kind)(err) == FdNotClosed) return sizeof (struct NotClosedExtra); + else if (VG_(get_error_kind)(err) == FdBadUse) + return sizeof (struct FdBadUse); else { vg_assert2 (False, "Unknown error kind: %d", VG_(get_error_kind)(err)); @@ -1627,22 +1640,34 @@ Bool ML_(fd_allowed)(Int fd, const HChar *syscallname, ThreadId tid, client is exactly what we don't want. */ /* croak? */ - if ((!allowed) && VG_(showing_core_errors)() ) { - VG_(message)(Vg_UserMsg, - "Warning: invalid file descriptor %d in syscall %s()\n", - fd, syscallname); - if (fd == VG_(log_output_sink).fd && VG_(log_output_sink).fd >= 0) - VG_(message)(Vg_UserMsg, + if ((!allowed) && !isNewFd) { + // XXX FdBadUse might want to add more info if we are going to include + // already closed file descriptors, then we do have a bit more info + if (VG_(clo_track_fds)) { + struct FdBadUse badfd; + badfd.fd = fd; + VG_(maybe_record_error)(tid, FdBadUse, 0, + "invalid file descriptor", &badfd); + } else if (VG_(showing_core_warnings) ()) { + // XXX legacy warnings, will be removed eventually + VG_(message)(Vg_UserMsg, + "Warning: invalid file descriptor %d in syscall %s()\n", + fd, syscallname); + } + + if (VG_(showing_core_warnings) ()) { + if (fd == VG_(log_output_sink).fd && VG_(log_output_sink).fd >= 0) + VG_(message)(Vg_UserMsg, " Use --log-fd=<number> to select an alternative log fd.\n"); - if (fd == VG_(xml_output_sink).fd && VG_(xml_output_sink).fd >= 0) - VG_(message)(Vg_UserMsg, + if (fd == VG_(xml_output_sink).fd && VG_(xml_output_sink).fd >= 0) + VG_(message)(Vg_UserMsg, " Use --xml-fd=<number> to select an alternative XML " "output fd.\n"); - // DDD: consider always printing this stack trace, it's useful. - // Also consider also making this a proper core error, ie. - // suppressible and all that. - if (VG_(clo_verbosity) > 1) { - VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size)); + + // XXX This is the legacy warning, will be removed eventually + if (VG_(clo_verbosity) > 1 && !VG_(clo_track_fds)) { + VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size)); + } } } diff --git a/coregrind/pub_core_errormgr.h b/coregrind/pub_core_errormgr.h index e365125ba8..d4bf2e7a8a 100644 --- a/coregrind/pub_core_errormgr.h +++ b/coregrind/pub_core_errormgr.h @@ -46,6 +46,7 @@ typedef ThreadErr = -1, FdBadClose = -2, FdNotClosed = -3, + FdBadUse = -4, } CoreErrorKind; @@ -77,7 +78,7 @@ extern void VG_(show_error_counts_as_XML) ( void ); extern Bool VG_(is_action_requested) ( const HChar* action, Bool* clo ); -extern Bool VG_(showing_core_errors) ( void ); +extern Bool VG_(showing_core_warnings) ( void ); extern UInt VG_(get_n_errs_found) ( void ); extern UInt VG_(get_n_errs_shown) ( void ); diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am index 924c409575..4ec2943175 100644 --- a/none/tests/Makefile.am +++ b/none/tests/Makefile.am @@ -255,7 +255,8 @@ EXTRA_DIST = \ file_dclose.supp file_dclose_sup.stderr.exp file_dclose_sup.vgtest \ double_close_range.stderr.exp double_close_range.vgtest \ log-track-fds.stderr.exp log-track-fds.vgtest \ - xml-track-fds.stderr.exp xml-track-fds.vgtest + xml-track-fds.stderr.exp xml-track-fds.vgtest \ + fdbaduse.stderr.exp fdbaduse.vgtest check_PROGRAMS = \ @@ -309,7 +310,8 @@ check_PROGRAMS = \ process_vm_readv_writev \ sigprocmask \ socket_close \ - file_dclose + file_dclose \ + fdbaduse if HAVE_STATIC_LIBC if ! VGCONF_OS_IS_LINUX diff --git a/none/tests/fdbaduse.c b/none/tests/fdbaduse.c new file mode 100644 index 0000000000..176d5bfa67 --- /dev/null +++ b/none/tests/fdbaduse.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <unistd.h> + +int main (int argc, char **argv) +{ + close(-1); + + return 0; +} + diff --git a/none/tests/fdbaduse.stderr.exp b/none/tests/fdbaduse.stderr.exp new file mode 100644 index 0000000000..c916fa7f60 --- /dev/null +++ b/none/tests/fdbaduse.stderr.exp @@ -0,0 +1,3 @@ +Invalid file descriptor -1 + at 0x........: close (in /...libc...) + by 0x........: main (fdbaduse.c:6) diff --git a/none/tests/fdbaduse.vgtest b/none/tests/fdbaduse.vgtest new file mode 100644 index 0000000000..c7129a5485 --- /dev/null +++ b/none/tests/fdbaduse.vgtest @@ -0,0 +1,3 @@ +prog: fdbaduse +prereq: test -x fdbaduse +vgopts: -q --track-fds=yes |
From: Andreas A. <ar...@so...> - 2024-10-09 15:11:38
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=61edfcd3c7b49033ec3e8df6470fad4c59cf0151 commit 61edfcd3c7b49033ec3e8df6470fad4c59cf0151 Author: Florian Krohm <fl...@ei...> Date: Wed Oct 9 17:10:08 2024 +0200 Bug 494252 - s390x: Fix disassembly for LOCHI and friends The disassembly for LOCHI, LOCGHI, and LOCHHI is bogus. For instance, the instruction lochi %r3,7,5 is disassembled as lochi %r5,3,0,.+10 instead of lochinhe %r3,7 It seems that s390_format_RIE_RUPIX was copy-pasted from s390_format_RIS_RUPI without adjusting it appropriately. Fix this. Reviewed-by: Andreas Arnez <ar...@li...> Diff: --- NEWS | 1 + VEX/priv/guest_s390_toIR.c | 19 +++++++------------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 319caf68f8..76cec58be9 100644 --- a/NEWS +++ b/NEWS @@ -71,6 +71,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 493507 direct readlink syscall from PRE handler is incompatible with FUSE_COMPATIBLE_MAY_BLOCK 493970 s390x: Store/restore FPC upon helper call causes slowdown +494252 s390x: incorrect disassembly for LOCHI and friends n-i-bz Improve messages for sigaltstack errors, use specific stack_t member names diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c index c3816a10ed..2e0f6bb28d 100644 --- a/VEX/priv/guest_s390_toIR.c +++ b/VEX/priv/guest_s390_toIR.c @@ -2842,15 +2842,13 @@ s390_format_RIE_RUPI(const HChar *(*irgen)(UChar r1, UChar m3, UShort i4, } static void -s390_format_RIE_RUPIX(const HChar *(*irgen)(UChar r1, UChar m3, UShort i4, - UChar i2), - UChar r1, UChar m3, UShort i4, UChar i2, Int xmnm_kind) +s390_format_RIE_RUPIX(const HChar *(*irgen)(UChar r1, UChar m3, UShort i2), + UChar r1, UChar m3, UShort i2, Int xmnm_kind) { - const HChar *mnm = irgen(r1, m3, i4, i2); + irgen(r1, m3, i2); if (UNLIKELY(vex_traceflags & VEX_TRACE_FE)) - s390_disasm(ENC5(XMNM, GPR, INT, CABM, PCREL), xmnm_kind, mnm, m3, r1, - (Int)(Char)i2, m3, (Int)(Short)i4); + s390_disasm(ENC3(XMNM, GPR, INT), xmnm_kind, m3, r1, (Int)(Short)i2); } static void @@ -17058,7 +17056,7 @@ s390_irgen_LOCFHR(UChar m3, UChar r1, UChar r2) } static const HChar * -s390_irgen_LOCHHI(UChar r1, UChar m3, UShort i2, UChar unused) +s390_irgen_LOCHHI(UChar r1, UChar m3, UShort i2) { next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0))); put_gpr_w0(r1, mkU32((UInt)(Int)(Short)i2)); @@ -17067,7 +17065,7 @@ s390_irgen_LOCHHI(UChar r1, UChar m3, UShort i2, UChar unused) } static const HChar * -s390_irgen_LOCHI(UChar r1, UChar m3, UShort i2, UChar unused) +s390_irgen_LOCHI(UChar r1, UChar m3, UShort i2) { next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0))); put_gpr_w1(r1, mkU32((UInt)(Int)(Short)i2)); @@ -17076,7 +17074,7 @@ s390_irgen_LOCHI(UChar r1, UChar m3, UShort i2, UChar unused) } static const HChar * -s390_irgen_LOCGHI(UChar r1, UChar m3, UShort i2, UChar unused) +s390_irgen_LOCGHI(UChar r1, UChar m3, UShort i2) { next_insn_if(binop(Iop_CmpEQ32, s390_call_calculate_cond(m3), mkU32(0))); put_gpr_dw0(r1, mkU64((ULong)(Long)(Short)i2)); @@ -22324,7 +22322,6 @@ s390_decode_6byte_and_irgen(const UChar *bytes) RIEv3_r1(ovl), RIEv3_m3(ovl), RIEv3_i4(ovl), - RIEv3_i2(ovl), S390_XMNM_LOCHI); goto ok; case 0xec0000000044ULL: s390_format_RIE_RRP(s390_irgen_BRXHG, RIE_r1(ovl), RIE_r3(ovl), RIE_i2(ovl)); @@ -22336,13 +22333,11 @@ s390_decode_6byte_and_irgen(const UChar *bytes) RIEv3_r1(ovl), RIEv3_m3(ovl), RIEv3_i4(ovl), - RIEv3_i2(ovl), S390_XMNM_LOCGHI); goto ok; case 0xec000000004eULL: s390_format_RIE_RUPIX(s390_irgen_LOCHHI, RIEv3_r1(ovl), RIEv3_m3(ovl), RIEv3_i4(ovl), - RIEv3_i2(ovl), S390_XMNM_LOCHHI); goto ok; case 0xec0000000051ULL: s390_format_RIE_RRUUU(s390_irgen_RISBLG, RIE_RRUUU_r1(ovl), |
From: Andreas A. <ar...@so...> - 2024-10-09 15:11:27
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=2b635fd318b6920250338cef6af15011b50a03f2 commit 2b635fd318b6920250338cef6af15011b50a03f2 Author: Andreas Arnez <ar...@li...> Date: Wed Oct 9 17:10:08 2024 +0200 Bug 493970 - s390x: Drop saving/restoring FPC upon helper call Saving the FPC before each helper call and restoring it afterwards creates unnecessary overhead, and it may also not be desirable. Drop it. Also remove the functions in host_s390_defs.c responsible for emitting LFPC and STFPC instructions. And since this frees up the FPC save slot on the stack, adjust the stack layout accordingly. Diff: --- NEWS | 1 + VEX/priv/host_s390_defs.c | 41 +---------------------------------------- VEX/pub/libvex_s390x_common.h | 9 +++------ 3 files changed, 5 insertions(+), 46 deletions(-) diff --git a/NEWS b/NEWS index 59b987d633..319caf68f8 100644 --- a/NEWS +++ b/NEWS @@ -70,6 +70,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 493454 Missing FUSE_COMPATIBLE_MAY_BLOCK markers 493507 direct readlink syscall from PRE handler is incompatible with FUSE_COMPATIBLE_MAY_BLOCK +493970 s390x: Store/restore FPC upon helper call causes slowdown n-i-bz Improve messages for sigaltstack errors, use specific stack_t member names diff --git a/VEX/priv/host_s390_defs.c b/VEX/priv/host_s390_defs.c index ee240347d6..583f116c3c 100644 --- a/VEX/priv/host_s390_defs.c +++ b/VEX/priv/host_s390_defs.c @@ -1706,18 +1706,6 @@ emit_RXY(UChar *p, ULong op, UChar r1, UChar x2, UChar b2, UShort dl2, UChar dh2 } -static UChar * -emit_S(UChar *p, UInt op, UChar b2, UShort d2) -{ - ULong the_insn = op; - - the_insn |= ((ULong)b2) << 12; - the_insn |= ((ULong)d2) << 0; - - return emit_4bytes(p, the_insn); -} - - static UChar * emit_SI(UChar *p, UInt op, UChar i2, UChar b1, UShort d1) { @@ -3791,16 +3779,6 @@ s390_emit_LDY(UChar *p, UChar r1, UChar x2, UChar b2, UShort dl2, UChar dh2) } -static UChar * -s390_emit_LFPC(UChar *p, UChar b2, UShort d2) -{ - if (UNLIKELY(vex_traceflags & VEX_TRACE_ASM)) - s390_disasm(ENC2(MNM, UDXB), "lfpc", d2, 0, b2); - - return emit_S(p, 0xb29d0000, b2, d2); -} - - static UChar * s390_emit_LDGR(UChar *p, UChar r1, UChar r2) { @@ -3895,16 +3873,6 @@ s390_emit_STDY(UChar *p, UChar r1, UChar x2, UChar b2, UShort dl2, UChar dh2) } -static UChar * -s390_emit_STFPC(UChar *p, UChar b2, UShort d2) -{ - if (UNLIKELY(vex_traceflags & VEX_TRACE_ASM)) - s390_disasm(ENC2(MNM, UDXB), "stfpc", d2, 0, b2); - - return emit_S(p, 0xb29c0000, b2, d2); -} - - static UChar * s390_emit_AEBR(UChar *p, UChar r1, UChar r2) { @@ -10354,14 +10322,7 @@ s390_insn_helper_call_emit(UChar *buf, const s390_insn *insn) Also, need to arrange for the return address be put into the link-register */ buf = s390_emit_load_64imm(buf, 1, target); - - /* Stash away the client's FPC register because the helper might change it. */ - buf = s390_emit_STFPC(buf, S390_REGNO_STACK_POINTER, S390_OFFSET_SAVED_FPC_C); - - buf = s390_emit_BASR(buf, S390_REGNO_LINK_REGISTER, 1); // call helper - - buf = s390_emit_LFPC(buf, S390_REGNO_STACK_POINTER, // restore FPC - S390_OFFSET_SAVED_FPC_C); + buf = s390_emit_BASR(buf, S390_REGNO_LINK_REGISTER, 1); // preElse: UChar* pPreElse = buf; diff --git a/VEX/pub/libvex_s390x_common.h b/VEX/pub/libvex_s390x_common.h index 944347242d..dda5ffd312 100644 --- a/VEX/pub/libvex_s390x_common.h +++ b/VEX/pub/libvex_s390x_common.h @@ -52,10 +52,7 @@ /* Dispatcher will save 8 FPRs at offsets 160 + 0 ... 160 + 56 */ /* Where the dispatcher saves the r2 contents. */ -#define S390_OFFSET_SAVED_R2 160+80 - -/* Where client's FPC register is saved. */ -#define S390_OFFSET_SAVED_FPC_C 160+72 +#define S390_OFFSET_SAVED_R2 160+72 /* Where valgrind's FPC register is saved. */ #define S390_OFFSET_SAVED_FPC_V 160+64 @@ -64,11 +61,11 @@ Need size for 8 FPRs + 1 GPR (SAVED_R2) - + 2 FPCs (SAVED_FPC_C and SAVED_FPC_V). + + 1 FPC (SAVED_FPC_V) Additionally, we need a standard frame for helper functions being called from client code. (See figure 1-16 in zSeries ABI) */ -#define S390_INNERLOOP_FRAME_SIZE ((8+1+2)*8 + 160) +#define S390_INNERLOOP_FRAME_SIZE ((8+1+1)*8 + 160) /*--------------------------------------------------------------*/ |
From: Andreas A. <ar...@so...> - 2024-10-09 15:11:26
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=943669f4ea16381154ec0cb26237e901d34e6d83 commit 943669f4ea16381154ec0cb26237e901d34e6d83 Author: Andreas Arnez <ar...@li...> Date: Wed Oct 9 17:10:08 2024 +0200 s390x: Add missing early-clobber to GET_STARTREGS The inline assembly for GET_STARTREGS in m_libcassert.c writes to its output before using the input argument. But since the compiler doesn't know this, it is allowed to allocate the same register for both, causing problems. This has been seen when compiling Valgrind with -O0, after which memcheck/tests/leak-autofreepool-5 fails due to SIGSEGV. Fix this by declaring the output as early-clobber, so the compiler knows about the restriction. Diff: --- coregrind/m_libcassert.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coregrind/m_libcassert.c b/coregrind/m_libcassert.c index db9d43d874..257c26bc63 100644 --- a/coregrind/m_libcassert.c +++ b/coregrind/m_libcassert.c @@ -177,7 +177,7 @@ "std %%f5, 64(%1);" \ "std %%f6, 72(%1);" \ "std %%f7, 80(%1);" \ - : /* out */ "=r" (ia) \ + : /* out */ "=&r" (ia) \ : /* in */ "a" (&block[0]) \ : /* trash */ "memory" \ ); \ |
From: Andreas A. <ar...@so...> - 2024-10-09 15:11:21
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=bbdd783268a56348f824e421ab1306077b2ae70a commit bbdd783268a56348f824e421ab1306077b2ae70a Author: Andreas Arnez <ar...@li...> Date: Wed Oct 9 17:10:08 2024 +0200 Fix some issues with GSL for `make auxchecks' When trying to reproduce Bug 423908, I ran into some trouble performing `make auxchecks', due to problems in GSL: Newer compilers complain about incompatible pointer types in argument passing between unsigned int * and size_t * This affects the fifth argument of function gsl_eigen_jacobi() in eigen/jacobi.c. Fix this by passing the right pointer type at invocation. Also, the configure checks for IEEE comparisons and for IEEE denormalized values don't work as intended, because they call exit() without declaring it and thus fail independently from those features being supported. Fix this by using `return' instead. Diff: --- auxprogs/gsl-1.6.patch | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/auxprogs/gsl-1.6.patch b/auxprogs/gsl-1.6.patch index a9ffd13c33..cd3255d336 100644 --- a/auxprogs/gsl-1.6.patch +++ b/auxprogs/gsl-1.6.patch @@ -34,3 +34,35 @@ diff -r -u gsl-1.6/wavelet/dwt.c gsl-1.6-patched/wavelet/dwt.c static int binary_logn (const size_t n) +diff -r -u gsl-1.6/eigen/jacobi.c gsl-1.6-patched/eigen/jacobi.c +--- gsl-1.6/eigen/jacobi.c ++++ gsl-1.6-patched/eigen/jacobi.c +@@ -215,7 +215,7 @@ + { + const size_t n = a->size2; + size_t i,j,k; +- size_t nrot = 0; ++ unsigned int nrot = 0; + int status; + + gsl_vector * eval = gsl_vector_alloc(n); +diff -r -u gsl-1.6/configure.ac gsl-1.6-patched/configure.ac +--- gsl-1.6/configure.ac ++++ gsl-1.6-patched/configure.ac +@@ -325,7 +325,7 @@ + inf = exp(1.0e10); + nan = inf / inf ; + status = (nan == nan); +- exit (status); ++ return status; + }]])],[ac_cv_c_ieee_comparisons="yes"],[ac_cv_c_ieee_comparisons="no"],[ac_cv_c_ieee_comparisons="yes"]) + ]) + +@@ -346,7 +346,7 @@ + for (i = 0; i < 5; i++) { z = z / 10.0 ; }; + for (i = 0; i < 5; i++) { z = z * 10.0 ; }; + status = (z == 0.0); +- exit (status); ++ return status; + }]])],[ac_cv_c_ieee_denormals="yes"],[ac_cv_c_ieee_denormals="no"],[ac_cv_c_ieee_denormals="yes"]) + ]) |
From: Paul F. <pa...@so...> - 2024-10-09 06:04:10
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=7951e8c7cd693e86a952087ae0a09bf09e44b431 commit 7951e8c7cd693e86a952087ae0a09bf09e44b431 Author: Paul Floyd <pj...@wa...> Date: Wed Oct 9 08:03:36 2024 +0200 FreeBSD regtest: one more scalar twiddle Diff: --- memcheck/tests/freebsd/scalar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 76a9f651cc..1519b379d3 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -316,7 +316,7 @@ int main(void) GO(SYS_sbrk, "1s 1m"); SY(SYS_sbrk, x0); FAIL; #else - FAKE_GO("69: SYS_sbrk 1s 1m"); + FAKE_GO(" 69: SYS_sbrk 1s 1m"); FAKE_SY("Syscall param sbrk(incr) contains uninitialised byte(s)\n") FAKE_SY(" ...\n"); FAKE_SY("\n"); |
From: Paul F. <pj...@wa...> - 2024-10-08 19:52:06
|
On 08-10-24 12:49, Mark Wielaard wrote: > This is clearly a bug fix and I agree with the new names. Thanks. > > But you might want to explicitly mention this in NEWS since it does > change how suppressions work for sigaltstack. OK, I added it as an n-i-bz entry. A+ Paul |
From: Paul F. <pa...@so...> - 2024-10-08 19:37:42
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=af1860ce913c60dab3a8b365e784aade161c5426 commit af1860ce913c60dab3a8b365e784aade161c5426 Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 21:37:10 2024 +0200 Add change to sigaltstack error messages to NEWS. Diff: --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index cbb138ac63..59b987d633 100644 --- a/NEWS +++ b/NEWS @@ -70,6 +70,8 @@ are not entered into bugzilla tend to get forgotten about or ignored. 493454 Missing FUSE_COMPATIBLE_MAY_BLOCK markers 493507 direct readlink syscall from PRE handler is incompatible with FUSE_COMPATIBLE_MAY_BLOCK +n-i-bz Improve messages for sigaltstack errors, use specific + stack_t member names To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX |
From: Paul F. <pa...@so...> - 2024-10-08 19:27:44
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=48f77eb6b9220c02386e08f9a18dcc7b8b4152b5 commit 48f77eb6b9220c02386e08f9a18dcc7b8b4152b5 Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 16:50:12 2024 +0200 Solaris regtest: update scalar for sigaltstack changes Diff: --- memcheck/tests/solaris/scalar.stderr.exp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/memcheck/tests/solaris/scalar.stderr.exp b/memcheck/tests/solaris/scalar.stderr.exp index a1b5d97d7a..d80bc27d07 100644 --- a/memcheck/tests/solaris/scalar.stderr.exp +++ b/memcheck/tests/solaris/scalar.stderr.exp @@ -1645,7 +1645,15 @@ 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) +Syscall param sigaltstack(ss->ss_sp) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param sigaltstack(ss->ss_size) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param sigaltstack(ss->ss_flags) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd |
From: Paul F. <pa...@so...> - 2024-10-08 19:05:44
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=752ca5b166b7118c86207301e47e5d2a4112c634 commit 752ca5b166b7118c86207301e47e5d2a4112c634 Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 21:03:17 2024 +0200 macOS regtest: give up trying to build bug492210.c macOS has to make everything difficult. Global names need to be decorated with an underscore prefix. And you can't just read from global variables, you have to do something like a rip-relative lea. Diff: --- memcheck/tests/amd64/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/memcheck/tests/amd64/Makefile.am b/memcheck/tests/amd64/Makefile.am index 05299a752e..98f3f78fa1 100644 --- a/memcheck/tests/amd64/Makefile.am +++ b/memcheck/tests/amd64/Makefile.am @@ -48,7 +48,6 @@ check_PROGRAMS = \ bt_everything \ bug132146 \ bug279698 \ - bug492210 \ fxsave-amd64 \ insn-bsfl \ insn-pmovmskb \ @@ -74,6 +73,7 @@ endif # but the problem is macOS, not clang if !VGCONF_OS_IS_DARWIN check_PROGRAMS += \ + bug492210 \ shr_edx endif |
From: Mark W. <ma...@kl...> - 2024-10-08 12:49:30
|
Hi Paul, On Tue, 2024-10-08 at 11:21 +0000, Paul Floyd wrote: > https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=fc20240c84b5f61e4bf590d69eb50475fa2c119c > > commit fc20240c84b5f61e4bf590d69eb50475fa2c119c > Author: Paul Floyd <pj...@wa...> > Date: Tue Oct 8 13:19:08 2024 +0200 > > sigaltstack syscall: improve error messages > > Previously the same message was generated for the 3 members of > stack_t. > [...] > diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c > index 9093b831d6..5434a68369 100644 > --- a/coregrind/m_syswrap/syswrap-generic.c > +++ b/coregrind/m_syswrap/syswrap-generic.c > @@ -5033,9 +5033,9 @@ PRE(sys_sigaltstack) > const vki_stack_t *, ss, vki_stack_t *, oss); > if (ARG1 != 0) { > const vki_stack_t *ss = (vki_stack_t *)(Addr)ARG1; > - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_sp, sizeof(ss->ss_sp) ); > - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_flags, sizeof(ss->ss_flags) ); > - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_size, sizeof(ss->ss_size) ); > + PRE_MEM_READ( "sigaltstack(ss->ss_sp)", (Addr)&ss->ss_sp, sizeof(ss->ss_sp) ); > + PRE_MEM_READ( "sigaltstack(ss->ss_size)", (Addr)&ss->ss_size, sizeof(ss->ss_size) ); > + PRE_MEM_READ( "sigaltstack(ss->ss_flags)", (Addr)&ss->ss_flags, sizeof(ss->ss_flags) ); > } > if (ARG2 != 0) { > PRE_MEM_WRITE( "sigaltstack(oss)", ARG2, sizeof(vki_stack_t) ); This is clearly a bug fix and I agree with the new names. Thanks. But you might want to explicitly mention this in NEWS since it does change how suppressions work for sigaltstack. Previously a suppression like { my-weird-sigaltstack-call Memcheck:Param sigaltstack(ss) fun:sigaltstack fun:main } would work, now that needs to be rewritten to refer to one of the new messages. Most likely nobody did the above, but it is technically a user visible change, so would be good to explicitly mention. Also I accidentially changed some syscall Param messages in the past without realizing it is a user visible change, so I just mention it to remind myself to be careful here. Cheers, Mark |
From: Paul F. <pa...@so...> - 2024-10-08 12:10:42
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=fabbd7384640c650960ad72a4678537e3f0bd814 commit fabbd7384640c650960ad72a4678537e3f0bd814 Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 14:09:52 2024 +0200 Linux regtest: update scalar expected for sigaltstack Diff: --- memcheck/tests/x86-linux/scalar.stderr.exp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/memcheck/tests/x86-linux/scalar.stderr.exp b/memcheck/tests/x86-linux/scalar.stderr.exp index 6b8c7677f5..a2255991ed 100644 --- a/memcheck/tests/x86-linux/scalar.stderr.exp +++ b/memcheck/tests/x86-linux/scalar.stderr.exp @@ -2528,7 +2528,19 @@ Syscall param sigaltstack(oss) contains uninitialised byte(s) ... by 0x........: main (scalar.c:853) -Syscall param sigaltstack(ss) points to unaddressable byte(s) +Syscall param sigaltstack(ss->ss_sp) points to unaddressable byte(s) + ... + by 0x........: main (scalar.c:853) + Address 0x........ is on thread 1's stack + in frame #1, created by main (scalar.c:29) + +Syscall param sigaltstack(ss->ss_size) points to unaddressable byte(s) + ... + by 0x........: main (scalar.c:853) + Address 0x........ is on thread 1's stack + in frame #1, created by main (scalar.c:29) + +Syscall param sigaltstack(ss->ss_flags) points to unaddressable byte(s) ... by 0x........: main (scalar.c:853) Address 0x........ is on thread 1's stack |
From: Paul F. <pa...@so...> - 2024-10-08 11:52:44
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=0a6333d828d5bbd7befd22584fccb4f1431b187b commit 0a6333d828d5bbd7befd22584fccb4f1431b187b Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 15:52:09 2024 +0200 FreeBSD regtest: update x86 scalar expected Diff: --- memcheck/tests/freebsd/scalar.stderr.exp-x86 | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-x86 b/memcheck/tests/freebsd/scalar.stderr.exp-x86 index b8cafee07b..6bff63d332 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp-x86 +++ b/memcheck/tests/freebsd/scalar.stderr.exp-x86 @@ -440,7 +440,7 @@ 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 + 53: SYS_sigaltstack 2s 4m --------------------------------------------------------- Syscall param sigaltstack(ss) contains uninitialised byte(s) ... @@ -448,23 +448,26 @@ 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) +Syscall param sigaltstack(ss->ss_sp) points to unaddressable byte(s) ... Address 0x........ is on thread 1's stack -Syscall param sigaltstack(oss) points to unaddressable byte(s) +Syscall param sigaltstack(ss->ss_size) points to unaddressable byte(s) + ... + Address 0x........ is on thread 1's stack + +Syscall param sigaltstack(ss->ss_flags) points to unaddressable byte(s) ... Address 0x........ is on thread 1's stack -Conditional jump or move depends on uninitialised value(s) + +Syscall param sigaltstack(oss) points to unaddressable byte(s) ... + Address 0x........ is on thread 1's stack --------------------------------------------------------- 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) ... |
From: Paul F. <pa...@so...> - 2024-10-08 11:21:36
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=fc20240c84b5f61e4bf590d69eb50475fa2c119c commit fc20240c84b5f61e4bf590d69eb50475fa2c119c Author: Paul Floyd <pj...@wa...> Date: Tue Oct 8 13:19:08 2024 +0200 sigaltstack syscall: improve error messages Previously the same message was generated for the 3 members of stack_t. Also on FreeBSD I get a Conditional jump error with this syscall but not on all platforms, so I've added a suppression. Diff: --- coregrind/m_syswrap/syswrap-generic.c | 6 +++--- memcheck/tests/freebsd/Makefile.am | 1 + memcheck/tests/freebsd/scalar.c | 8 +------- memcheck/tests/freebsd/scalar.stderr.exp | 30 ++++++------------------------ memcheck/tests/freebsd/scalar.supp | 11 +++++++++++ memcheck/tests/freebsd/scalar.vgtest | 2 +- 6 files changed, 23 insertions(+), 35 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 9093b831d6..5434a68369 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -5033,9 +5033,9 @@ PRE(sys_sigaltstack) const vki_stack_t *, ss, vki_stack_t *, oss); if (ARG1 != 0) { const vki_stack_t *ss = (vki_stack_t *)(Addr)ARG1; - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_sp, sizeof(ss->ss_sp) ); - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_flags, sizeof(ss->ss_flags) ); - PRE_MEM_READ( "sigaltstack(ss)", (Addr)&ss->ss_size, sizeof(ss->ss_size) ); + PRE_MEM_READ( "sigaltstack(ss->ss_sp)", (Addr)&ss->ss_sp, sizeof(ss->ss_sp) ); + PRE_MEM_READ( "sigaltstack(ss->ss_size)", (Addr)&ss->ss_size, sizeof(ss->ss_size) ); + PRE_MEM_READ( "sigaltstack(ss->ss_flags)", (Addr)&ss->ss_flags, sizeof(ss->ss_flags) ); } if (ARG2 != 0) { PRE_MEM_WRITE( "sigaltstack(oss)", ARG2, sizeof(vki_stack_t) ); diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index ae4b1aa531..8329a4377c 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -91,6 +91,7 @@ EXTRA_DIST = \ scalar.h scalar.vgtest \ scalar.stderr.exp \ scalar.stderr.exp-x86 \ + scalar.supp \ scalar_abort2.vgtest \ scalar_13_plus.vgtest \ scalar_13_plus.stderr.exp \ diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index ac8edd42aa..76a9f651cc 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -257,14 +257,8 @@ int main(void) struct our_sigaltstack oss; VALGRIND_MAKE_MEM_NOACCESS(&ss, sizeof(struct our_sigaltstack)); VALGRIND_MAKE_MEM_NOACCESS(&oss, sizeof(struct our_sigaltstack)); - GO(SYS_sigaltstack, "0s 2m"); + GO(SYS_sigaltstack, "2s 4m"); SY(SYS_sigaltstack, x0+&ss, x0+&oss); FAIL; - - GO(SYS_sigaltstack, "2s 0m"); - SY(SYS_sigaltstack, x0, x0); SUCC; - - GO(SYS_sigaltstack, "2s 2m"); - SY(SYS_sigaltstack, x0+1, x0+1); FAIL; } /* SYS_ioctl 54 */ diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index f8209228e2..681bb8f2ad 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -440,7 +440,7 @@ Syscall param acct(filename) points to unaddressable byte(s) Address 0x........ is not stack'd, malloc'd or (recently) free'd --------------------------------------------------------- - 53: SYS_sigaltstack 0s 2m + 53: SYS_sigaltstack 2s 4m --------------------------------------------------------- Syscall param sigaltstack(ss) contains uninitialised byte(s) ... @@ -448,40 +448,22 @@ 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) +Syscall param sigaltstack(ss->ss_sp) points to unaddressable byte(s) ... Address 0x........ is on thread 1's stack -Syscall param sigaltstack(oss) points to unaddressable byte(s) +Syscall param sigaltstack(ss->ss_size) points to unaddressable byte(s) ... Address 0x........ is on thread 1's stack ---------------------------------------------------------- - 53: SYS_sigaltstack 2s 0m ---------------------------------------------------------- -Syscall param sigaltstack(ss) contains uninitialised byte(s) - ... - - -Syscall param sigaltstack(oss) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 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->ss_flags) points to unaddressable byte(s) ... + Address 0x........ is on thread 1's stack -Syscall param sigaltstack(ss) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd Syscall param sigaltstack(oss) points to unaddressable byte(s) ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd + Address 0x........ is on thread 1's stack --------------------------------------------------------- 54: SYS_ioctl 3s 1m diff --git a/memcheck/tests/freebsd/scalar.supp b/memcheck/tests/freebsd/scalar.supp new file mode 100644 index 0000000000..f6b15a33ea --- /dev/null +++ b/memcheck/tests/freebsd/scalar.supp @@ -0,0 +1,11 @@ +# not sure what causes this exactly# on x86 and amd64 (but not arm64) +# there is an conditional uninit read +# there are several if statements that use the two pointers to stack +# structures that probably generate the error + +{ + internal uninitilized read + Memcheck:Cond + fun:syscall + fun:main +} diff --git a/memcheck/tests/freebsd/scalar.vgtest b/memcheck/tests/freebsd/scalar.vgtest index 170c1576e1..2f433038c7 100644 --- a/memcheck/tests/freebsd/scalar.vgtest +++ b/memcheck/tests/freebsd/scalar.vgtest @@ -1,5 +1,5 @@ prog: scalar -vgopts: -q --error-limit=no +vgopts: -q --error-limit=no --suppressions=scalar.supp 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 |
From: Paul F. <pa...@so...> - 2024-10-07 20:01:03
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=88813f16d17607abf985957d08267417095e6e87 commit 88813f16d17607abf985957d08267417095e6e87 Author: Paul Floyd <pj...@wa...> Date: Mon Oct 7 21:59:58 2024 +0200 FreeBSD regtest: fake missing syscalls on arm64 in scalar test Diff: --- memcheck/tests/freebsd/Makefile.am | 2 - memcheck/tests/freebsd/filter_scalar | 7 +- memcheck/tests/freebsd/scalar.c | 122 +- memcheck/tests/freebsd/scalar.h | 2 +- memcheck/tests/freebsd/scalar.stderr.exp | 31 +- memcheck/tests/freebsd/scalar.stderr.exp-arm64 | 5452 ---------------------- memcheck/tests/freebsd/scalar.stderr.exp-arm64_2 | 5365 --------------------- 7 files changed, 151 insertions(+), 10830 deletions(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index 3656be0edd..ae4b1aa531 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -90,8 +90,6 @@ EXTRA_DIST = \ revoke.stderr.exp \ scalar.h scalar.vgtest \ scalar.stderr.exp \ - scalar.stderr.exp-arm64 \ - scalar.stderr.exp-arm64_2 \ scalar.stderr.exp-x86 \ scalar_abort2.vgtest \ scalar_13_plus.vgtest \ diff --git a/memcheck/tests/freebsd/filter_scalar b/memcheck/tests/freebsd/filter_scalar index 52b7c456ee..5461dce874 100755 --- a/memcheck/tests/freebsd/filter_scalar +++ b/memcheck/tests/freebsd/filter_scalar @@ -14,4 +14,9 @@ sed '/at 0x........: syscall (in \/...libc...)/d' | # filter differences between FreeBSD 12 and 13/14 sed 's/SYS_freebsd12/ SYS/' | -sed 's/SYS_freebsd13/ SYS/' +sed 's/SYS_freebsd13/ SYS/' | + +# get rid of error limit message + +sed '/More than 100 errors detected. Subsequent errors/d' | +sed '/will still be recorded, but in less detail than before./d' diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 698df7c12d..ac8edd42aa 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -210,6 +210,8 @@ int main(void) GO(SYS_pipe, "0s 0m"); SY(SYS_pipe, x0); SUCC; #endif +#else + FAKE_GO(" 42: SYS_freebsd10_pipe 0s 0m"); #endif /* getegid 43 */ @@ -255,8 +257,14 @@ int main(void) struct our_sigaltstack oss; VALGRIND_MAKE_MEM_NOACCESS(&ss, sizeof(struct our_sigaltstack)); VALGRIND_MAKE_MEM_NOACCESS(&oss, sizeof(struct our_sigaltstack)); - GO(SYS_sigaltstack, "2s 2m"); + GO(SYS_sigaltstack, "0s 2m"); SY(SYS_sigaltstack, x0+&ss, x0+&oss); FAIL; + + GO(SYS_sigaltstack, "2s 0m"); + SY(SYS_sigaltstack, x0, x0); SUCC; + + GO(SYS_sigaltstack, "2s 2m"); + SY(SYS_sigaltstack, x0+1, x0+1); FAIL; } /* SYS_ioctl 54 */ @@ -628,6 +636,25 @@ int main(void) SY(SYS_sysarch, x0+AMD64_SET_FSBASE, x0); FAIL; #elif defined(VGP_arm64_freebsd) // does not exist + FAKE_GO("165: SYS_sysarch 2s 1m"); + FAKE_SY("Syscall param sysarch(number) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param sysarch(args) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param amd64_get_fsbase(basep) points to unaddressable byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY(" Address 0x........ is not stack'd, malloc'd or (recently) free'd\n"); + FAKE_SY("\n"); + FAKE_GO("165: SYS_sysarch 2s 0m"); + FAKE_SY("Syscall param sysarch(number) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param sysarch(args) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + #else #error "freebsd platform not defined" #endif @@ -789,7 +816,8 @@ int main(void) // On aarch64 this is defined in the header but // the kernel returns ENOSYS // The aarch64 port postdates FreeBSD 7 -#if defined(SYS_freebsd7___semctl) && !defined(VGP_arm64_freebsd) +#if !defined(VGP_arm64_freebsd) +#if defined(SYS_freebsd7___semctl) /* SYS_freebsd7___semctl 220 */ GO(SYS_freebsd7___semctl, "(IPC_STAT) 4s 1m"); SY(SYS_freebsd7___semctl, x0, x0, x0+IPC_STAT, x0+1); FAIL; @@ -797,6 +825,35 @@ int main(void) GO(SYS_freebsd7___semctl, "(bogus cmd) 3s 0m"); SY(SYS_freebsd7___semctl, x0, x0, x0-1, x0+1); FAIL; #endif +#else + FAKE_GO("220: SYS_freebsd7___semctl (IPC_STAT) 4s 1m"); + FAKE_SY("Syscall param semctl(semid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param semctl(semnum) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param semctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param semctl(arg) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param sys_freebsd7___semctl(arg) points to unaddressable byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY(" Address 0x........ is not stack'd, malloc'd or (recently) free'd\n"); + FAKE_SY("\n"); + FAKE_GO("220: SYS_freebsd7___semctl (bogus cmd) 3s 0m"); + FAKE_SY("Syscall param semctl(semid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param semctl(semnum) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param semctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); +#endif /* SYS_semget 221 */ GO(SYS_semget, "3s 0m"); @@ -808,7 +865,8 @@ int main(void) /* unimpl semconfig 223 */ -#if defined(SYS_freebsd7_msgctl) && !defined(VGP_arm64_freebsd) +#if !defined(VGP_arm64_freebsd) +#if defined(SYS_freebsd7_msgctl) /* SYS_freebsd7_msgctl 224 */ GO(SYS_freebsd7_msgctl, "(set) 3s 1m"); SY(SYS_freebsd7_msgctl, x0, x0+1, x0); FAIL; @@ -816,6 +874,37 @@ int main(void) GO(SYS_freebsd7_msgctl, "(stat) 3s 1m"); SY(SYS_freebsd7_msgctl, x0, x0+2, x0); FAIL; #endif +#else + FAKE_GO("224: SYS_freebsd7_msgctl (set) 3s 1m"); + FAKE_SY("Syscall param msgctl(msqid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(buf) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(IPC_SET, buf) points to unaddressable byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY(" Address 0x........ is not stack'd, malloc'd or (recently) free'd\n"); + FAKE_SY("\n"); + + FAKE_GO("224: SYS_freebsd7_msgctl (stat) 3s 1m"); + FAKE_SY("Syscall param msgctl(msqid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(buf) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param msgctl(IPC_STAT, buf) points to unaddressable byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY(" Address 0x........ is not stack'd, malloc'd or (recently) free'd\n"); + FAKE_SY("\n"); +#endif /* SYS_msgget 225 */ GO(SYS_msgget, "2s 0m"); @@ -833,13 +922,38 @@ int main(void) GO(SYS_shmat, "3s 0m"); SY(SYS_shmat, x0, x0, x0); FAIL; -#if defined(SYS_freebsd7_shmctl) && !defined(VGP_arm64_freebsd) +#if !defined(VGP_arm64_freebsd) +#if defined(SYS_freebsd7_shmctl) /* SYS_freebsd7_shmctl 229 */ GO(SYS_freebsd7_shmctl, "3s 0m"); SY(SYS_freebsd7_shmctl, x0, x0, x0); FAIL; GO(SYS_freebsd7_shmctl, "(bogus cmd) 3s 0m"); SY(SYS_freebsd7_shmctl, x0, x0-1, x0+1); FAIL; +#endif +#else + FAKE_GO("229: SYS_freebsd7_shmctl 3s 0m"); + FAKE_SY("Syscall param shmctl(shmid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param shmctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param shmctl(buf) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + + FAKE_GO("229: SYS_freebsd7_shmctl (bogus cmd) 3s 0m"); + FAKE_SY("Syscall param shmctl(shmid) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param shmctl(cmd) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + FAKE_SY("Syscall param shmctl(buf) contains uninitialised byte(s)\n"); + FAKE_SY(" ...\n"); + FAKE_SY("\n"); + #endif /* SYS_shmdt 230 */ diff --git a/memcheck/tests/freebsd/scalar.h b/memcheck/tests/freebsd/scalar.h index ddc0c79c2b..e6404fd130 100644 --- a/memcheck/tests/freebsd/scalar.h +++ b/memcheck/tests/freebsd/scalar.h @@ -35,7 +35,7 @@ #define FAKE_GO(str) \ fprintf(stderr, "---------------------------------------------------------\n" \ - " %s\n" \ + "%s\n" \ "---------------------------------------------------------\n", \ str); diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 6cd6cf2eca..f8209228e2 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -440,7 +440,7 @@ 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 + 53: SYS_sigaltstack 0s 2m --------------------------------------------------------- Syscall param sigaltstack(ss) contains uninitialised byte(s) ... @@ -456,15 +456,36 @@ 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) +--------------------------------------------------------- + 53: SYS_sigaltstack 2s 0m +--------------------------------------------------------- +Syscall param sigaltstack(ss) contains uninitialised byte(s) + ... + + +Syscall param sigaltstack(oss) contains uninitialised byte(s) ... --------------------------------------------------------- - 54: SYS_ioctl 3s 1m + 53: SYS_sigaltstack 2s 2m --------------------------------------------------------- +Syscall param sigaltstack(ss) contains uninitialised byte(s) + ... + +Syscall param sigaltstack(oss) contains uninitialised byte(s) + ... -More than 100 errors detected. Subsequent errors -will still be recorded, but in less detail than before. +Syscall param sigaltstack(ss) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param sigaltstack(oss) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +--------------------------------------------------------- + 54: SYS_ioctl 3s 1m +--------------------------------------------------------- Syscall param ioctl(fd) contains uninitialised byte(s) ... diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-arm64 b/memcheck/tests/freebsd/scalar.stderr.exp-arm64 deleted file mode 100644 index ff5241eebf..0000000000 --- a/memcheck/tests/freebsd/scalar.stderr.exp-arm64 +++ /dev/null @@ -1,5452 +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) - ... - ---------------------------------------------------------- - 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 - ---------------------------------------------------------- - 54: SYS_ioctl 3s 1m ---------------------------------------------------------- -Syscall param ioctl(fd) contains uninitialised byte(s) - ... - - -More than 100 errors detected. Subsequent errors -will still be recorded, but in less detail than before. -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 - -Syscall param execve(argv) 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 - ---------------------------------------------------------- -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) - ... - --------------------------------------... [truncated message content] |
From: Paul F. <pa...@so...> - 2024-10-07 05:37:58
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=a4077a7afd80badf657024040b6052c346320acb commit a4077a7afd80badf657024040b6052c346320acb Author: Paul Floyd <pj...@wa...> Date: Mon Oct 7 07:34:59 2024 +0200 FreeBSD regtest: add FAKE macros for scalar FreeBSD 15 removed the never-implemented sbrk syscall. Arm64 also has a few missing syscalls (backward compat ones that predate the arm64 port). Rather than having an ever increasing number of expecteds the aim is to use these FAKE macros. It's a bit fiddly to get the matching text. Diff: --- memcheck/tests/freebsd/scalar.c | 7 ++++++- memcheck/tests/freebsd/scalar.h | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index c76db8ecdb..698df7c12d 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -309,10 +309,15 @@ int main(void) /* obsol vwrite 68 */ -#if defined(SYS_sbrk) /* SYS_sbrk 69 */ +#if defined(SYS_sbrk) GO(SYS_sbrk, "1s 1m"); SY(SYS_sbrk, x0); FAIL; +#else + FAKE_GO("69: SYS_sbrk 1s 1m"); + FAKE_SY("Syscall param sbrk(incr) contains uninitialised byte(s)\n") + FAKE_SY(" ...\n"); + FAKE_SY("\n"); #endif /* not implemented on OS SYS_sstk 70 */ diff --git a/memcheck/tests/freebsd/scalar.h b/memcheck/tests/freebsd/scalar.h index b560a7f533..ddc0c79c2b 100644 --- a/memcheck/tests/freebsd/scalar.h +++ b/memcheck/tests/freebsd/scalar.h @@ -33,6 +33,15 @@ } \ } while (0); +#define FAKE_GO(str) \ + fprintf(stderr, "---------------------------------------------------------\n" \ + " %s\n" \ + "---------------------------------------------------------\n", \ + str); + +#define FAKE_SY(msg) \ + fprintf(stderr, "%s", (msg)); + /* Module variables. */ static long x0; static long res; |
From: Paul F. <pa...@so...> - 2024-10-05 14:12:07
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=dd971190ab0fa0300e840ce42af141210f8a7d2d commit dd971190ab0fa0300e840ce42af141210f8a7d2d Author: Paul Floyd <pj...@wa...> Date: Sat Oct 5 16:10:02 2024 +0200 FreeBSD regtest: auxv test string map has version dependend size Diff: --- none/tests/freebsd/auxv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/none/tests/freebsd/auxv.c b/none/tests/freebsd/auxv.c index 19e9232617..c49e606ea0 100644 --- a/none/tests/freebsd/auxv.c +++ b/none/tests/freebsd/auxv.c @@ -10,7 +10,7 @@ typedef struct { int type; } Elf_AuxStr; -Elf_AuxStr aux_map[AT_COUNT] = { +Elf_AuxStr aux_map[] = { {"AT_NULL", 0}, {"AT_IGNORE", 1}, {"AT_EXECFD", 2}, |
From: Mark W. <ma...@so...> - 2024-10-05 12:53:42
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=0690dc39644d15fc89813419ffcdf9754b098260 commit 0690dc39644d15fc89813419ffcdf9754b098260 Author: Mark Wielaard <ma...@kl...> Date: Sun Sep 22 23:24:34 2024 +0200 Implement /proc/self/exe readlink[at] fallback in POST handler Calling the readlink[at] syscall directly from the PRE handler defeats the FUSE_COMPATIBLE_MAY_BLOCK (SfMayBlock) flag. Add a POST handler that only explicitly calls the readlink[at] handler for the /proc/self/exe fallback (this should be fine unless /proc is also implemented as fuse in this process). Adjust readlink[at] GENX_ and LINX_ syswrap macros to GENXY and LINXY. https://bugs.kde.org/show_bug.cgi?id=493507 Diff: --- NEWS | 2 ++ coregrind/m_syswrap/syswrap-amd64-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-arm-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-arm64-linux.c | 2 +- coregrind/m_syswrap/syswrap-generic.c | 18 +++++++----------- coregrind/m_syswrap/syswrap-linux.c | 15 +++++++-------- coregrind/m_syswrap/syswrap-mips32-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-mips64-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-nanomips-linux.c | 2 +- coregrind/m_syswrap/syswrap-ppc32-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-ppc64-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-s390x-linux.c | 4 ++-- coregrind/m_syswrap/syswrap-solaris.c | 2 +- coregrind/m_syswrap/syswrap-x86-linux.c | 4 ++-- 14 files changed, 35 insertions(+), 38 deletions(-) diff --git a/NEWS b/NEWS index c76791aae1..cbb138ac63 100644 --- a/NEWS +++ b/NEWS @@ -68,6 +68,8 @@ are not entered into bugzilla tend to get forgotten about or ignored. but not supported in valgrind 492663 Valgrind ignores debug info for some binaries 493454 Missing FUSE_COMPATIBLE_MAY_BLOCK markers +493507 direct readlink syscall from PRE handler is incompatible with + FUSE_COMPATIBLE_MAY_BLOCK To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 86a47d9c28..2230baf772 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -576,7 +576,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_link, sys_link), // 86 GENX_(__NR_unlink, sys_unlink), // 87 GENX_(__NR_symlink, sys_symlink), // 88 - GENX_(__NR_readlink, sys_readlink), // 89 + GENXY(__NR_readlink, sys_readlink), // 89 GENX_(__NR_chmod, sys_chmod), // 90 GENX_(__NR_fchmod, sys_fchmod), // 91 @@ -790,7 +790,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_linkat, sys_linkat), // 265 LINX_(__NR_symlinkat, sys_symlinkat), // 266 - LINX_(__NR_readlinkat, sys_readlinkat), // 267 + LINXY(__NR_readlinkat, sys_readlinkat), // 267 LINX_(__NR_fchmodat, sys_fchmodat), // 268 LINX_(__NR_faccessat, sys_faccessat), // 269 diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index 7b536e52cb..d326fdb9ee 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -649,7 +649,7 @@ static SyscallTableEntry syscall_main_table[] = { GENX_(__NR_symlink, sys_symlink), // 83 //zz // (__NR_oldlstat, sys_lstat), // 84 -- obsolete //zz - GENX_(__NR_readlink, sys_readlink), // 85 + GENXY(__NR_readlink, sys_readlink), // 85 //zz // (__NR_uselib, sys_uselib), // 86 */Linux //zz // (__NR_swapon, sys_swapon), // 87 */Linux //zz // (__NR_reboot, sys_reboot), // 88 */Linux @@ -939,7 +939,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_(__NR_linkat, sys_linkat), // 303 LINX_(__NR_symlinkat, sys_symlinkat), // 304 - LINX_(__NR_readlinkat, sys_readlinkat), // + LINXY(__NR_readlinkat, sys_readlinkat), // LINX_(__NR_fchmodat, sys_fchmodat), // LINX_(__NR_faccessat, sys_faccessat), // LINXY(__NR_shmat, sys_shmat), //305 diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c index ccc548484b..05e0e421fa 100644 --- a/coregrind/m_syswrap/syswrap-arm64-linux.c +++ b/coregrind/m_syswrap/syswrap-arm64-linux.c @@ -626,7 +626,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_(__NR_vmsplice, sys_vmsplice), // 75 LINX_(__NR_splice, sys_splice), // 76 LINX_(__NR_tee, sys_tee), // 77 - LINX_(__NR_readlinkat, sys_readlinkat), // 78 + LINXY(__NR_readlinkat, sys_readlinkat), // 78 LINXY(__NR_newfstatat, sys_newfstatat), // 79 GENXY(__NR_fstat, sys_newfstat), // 80 GENX_(__NR_sync, sys_sync), // 81 diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index e4602e44a8..9093b831d6 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -4566,18 +4566,19 @@ POST(sys_poll) PRE(sys_readlink) { FUSE_COMPATIBLE_MAY_BLOCK(); - Word saved = SYSNO; - PRINT("sys_readlink ( %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %llu )", ARG1, (char*)(Addr)ARG1, ARG2, (ULong)ARG3); PRE_REG_READ3(long, "readlink", const char *, path, char *, buf, int, bufsiz); PRE_MEM_RASCIIZ( "readlink(path)", ARG1 ); PRE_MEM_WRITE( "readlink(buf)", ARG2,ARG3 ); +} - - { +POST(sys_readlink) +{ #if defined(VGO_linux) || defined(VGO_solaris) + { + Word saved = SYSNO; #if defined(VGO_linux) #define PID_EXEPATH "/proc/%d/exe" #define SELF_EXEPATH "/proc/self/exe" @@ -4598,15 +4599,10 @@ PRE(sys_readlink) && (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, SELF_EXEPATH))) { VG_(sprintf)(name, SELF_EXEFD, VG_(cl_exec_fd)); SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name, - ARG2, ARG3)); - } else -#endif - { - /* Normal case */ - SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3)); + ARG2, ARG3)); } } - +#endif if (SUCCESS && RES > 0) POST_MEM_WRITE( ARG2, RES ); } diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index a9b82d16a1..6a6b6bcb34 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -6049,17 +6049,19 @@ PRE(sys_symlinkat) PRE(sys_readlinkat) { - HChar name[30]; // large enough - Word saved = SYSNO; - FUSE_COMPATIBLE_MAY_BLOCK(); - PRINT("sys_readlinkat ( %ld, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %" FMT_REGWORD "u )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); PRE_REG_READ4(long, "readlinkat", int, dfd, const char *, path, char *, buf, vki_size_t, bufsiz); PRE_MEM_RASCIIZ( "readlinkat(path)", ARG2 ); PRE_MEM_WRITE( "readlinkat(buf)", ARG3,ARG4 ); +} + +POST(sys_readlinkat) +{ + HChar name[30]; // large enough + Word saved = SYSNO; /* * Handle the case where readlinkat is looking at /proc/self/exe or @@ -6071,10 +6073,7 @@ PRE(sys_readlinkat) || VG_(strcmp)((HChar *)(Addr)ARG2, "/proc/self/exe") == 0)) { VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd)); SET_STATUS_from_SysRes( VG_(do_syscall4)(saved, ARG1, (UWord)name, - ARG3, ARG4)); - } else { - /* Normal case */ - SET_STATUS_from_SysRes( VG_(do_syscall4)(saved, ARG1, ARG2, ARG3, ARG4)); + ARG3, ARG4)); } if (SUCCESS && RES > 0) diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index e3498cd96f..4213442136 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -849,7 +849,7 @@ static SyscallTableEntry syscall_main_table[] = { //.. PLAX_(__NR_select, old_select), // 82 GENX_ (__NR_symlink, sys_symlink), // 83 //.. // (__NR_oldlstat, sys_lstat), // 84 - GENX_ (__NR_readlink, sys_readlink), // 85 + GENXY (__NR_readlink, sys_readlink), // 85 //.. // (__NR_uselib, sys_uselib), // 86 //.. // (__NR_swapon, sys_swapon), // 87 //.. // (__NR_reboot, sys_reboot), // 88 @@ -1054,7 +1054,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_renameat, sys_renameat), // 295 LINX_ (__NR_linkat, sys_linkat), // 296 LINX_ (__NR_symlinkat, sys_symlinkat), // 297 - LINX_ (__NR_readlinkat, sys_readlinkat), // 298 + LINXY (__NR_readlinkat, sys_readlinkat), // 298 LINX_ (__NR_fchmodat, sys_fchmodat), // 299 LINX_ (__NR_faccessat, sys_faccessat), // 300 LINXY (__NR_pselect6, sys_pselect6), // 301 diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c index b07b7da459..e9bb5c54c5 100644 --- a/coregrind/m_syswrap/syswrap-mips64-linux.c +++ b/coregrind/m_syswrap/syswrap-mips64-linux.c @@ -603,7 +603,7 @@ static SyscallTableEntry syscall_main_table[] = { GENX_ (__NR_link, sys_link), GENX_ (__NR_unlink, sys_unlink), GENX_ (__NR_symlink, sys_symlink), - GENX_ (__NR_readlink, sys_readlink), + GENXY (__NR_readlink, sys_readlink), GENX_ (__NR_chmod, sys_chmod), GENX_ (__NR_fchmod, sys_fchmod), GENX_ (__NR_chown, sys_chown), @@ -771,7 +771,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_renameat, sys_renameat), LINX_ (__NR_linkat, sys_linkat), LINX_ (__NR_symlinkat, sys_symlinkat), - LINX_ (__NR_readlinkat, sys_readlinkat), + LINXY (__NR_readlinkat, sys_readlinkat), LINX_ (__NR_fchmodat, sys_fchmodat), LINX_ (__NR_faccessat, sys_faccessat), LINXY (__NR_pselect6, sys_pselect6), diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c index dc99f3d550..36a5c0ca00 100644 --- a/coregrind/m_syswrap/syswrap-nanomips-linux.c +++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c @@ -631,7 +631,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_vmsplice, sys_vmsplice), LINX_ (__NR_splice, sys_splice), LINX_ (__NR_tee, sys_tee), - LINX_ (__NR_readlinkat, sys_readlinkat), + LINXY (__NR_readlinkat, sys_readlinkat), GENX_ (__NR_sync, sys_sync), GENX_ (__NR_fsync, sys_fsync), GENX_ (__NR_fdatasync, sys_fdatasync), diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 74ba68564c..f7a90c7530 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -713,7 +713,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_symlink, sys_symlink), // 83 //.. // (__NR_oldlstat, sys_lstat), // 84 -- obsolete //.. - GENX_(__NR_readlink, sys_readlink), // 85 + GENXY(__NR_readlink, sys_readlink), // 85 //.. // (__NR_uselib, sys_uselib), // 86 */Linux //.. // (__NR_swapon, sys_swapon), // 87 */Linux //.. // (__NR_reboot, sys_reboot), // 88 */Linux @@ -963,7 +963,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_renameat, sys_renameat), // 293 LINX_(__NR_linkat, sys_linkat), // 294 LINX_(__NR_symlinkat, sys_symlinkat), // 295 - LINX_(__NR_readlinkat, sys_readlinkat), // 296 + LINXY(__NR_readlinkat, sys_readlinkat), // 296 LINX_(__NR_fchmodat, sys_fchmodat), // 297 LINX_(__NR_faccessat, sys_faccessat), // 298 LINX_(__NR_set_robust_list, sys_set_robust_list), // 299 diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c index 4609e10df3..8de95624fa 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -702,7 +702,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_symlink, sys_symlink), // 83 // _____(__NR_oldlstat, sys_oldlstat), // 84 - GENX_(__NR_readlink, sys_readlink), // 85 + GENXY(__NR_readlink, sys_readlink), // 85 // _____(__NR_uselib, sys_uselib), // 86 // _____(__NR_swapon, sys_swapon), // 87 // _____(__NR_reboot, sys_reboot), // 88 @@ -945,7 +945,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_renameat, sys_renameat), // 293 LINX_(__NR_linkat, sys_linkat), // 294 LINX_(__NR_symlinkat, sys_symlinkat), // 295 - LINX_(__NR_readlinkat, sys_readlinkat), // 296 + LINXY(__NR_readlinkat, sys_readlinkat), // 296 LINX_(__NR_fchmodat, sys_fchmodat), // 297 LINX_(__NR_faccessat, sys_faccessat), // 298 LINX_(__NR_set_robust_list, sys_set_robust_list), // 299 diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c index 9ed2fa4688..8a1be8cbef 100644 --- a/coregrind/m_syswrap/syswrap-s390x-linux.c +++ b/coregrind/m_syswrap/syswrap-s390x-linux.c @@ -513,7 +513,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_symlink, sys_symlink), // 83 GENX_(84, sys_ni_syscall), /* unimplemented (by the kernel) */ // 84 - GENX_(__NR_readlink, sys_readlink), // 85 + GENXY(__NR_readlink, sys_readlink), // 85 // ?????(__NR_uselib, ), // 86 // ?????(__NR_swapon, ), // 87 // ?????(__NR_reboot, ), // 88 @@ -768,7 +768,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_renameat, sys_renameat), // 295 LINX_(__NR_linkat, sys_linkat), // 296 LINX_(__NR_symlinkat, sys_symlinkat), // 297 - LINX_(__NR_readlinkat, sys_readlinkat), // 298 + LINXY(__NR_readlinkat, sys_readlinkat), // 298 LINX_(__NR_fchmodat, sys_fchmodat), // 299 LINX_(__NR_faccessat, sys_faccessat), // 300 diff --git a/coregrind/m_syswrap/syswrap-solaris.c b/coregrind/m_syswrap/syswrap-solaris.c index b954c2cfdb..dad70ef857 100644 --- a/coregrind/m_syswrap/syswrap-solaris.c +++ b/coregrind/m_syswrap/syswrap-solaris.c @@ -10905,7 +10905,7 @@ static SyscallTableEntry syscall_table[] = { #if defined(SOLARIS_OLD_SYSCALLS) SOLXY(__NR_lstat, sys_lstat), /* 88 */ GENX_(__NR_symlink, sys_symlink), /* 89 */ - GENX_(__NR_readlink, sys_readlink), /* 90 */ + GENXY(__NR_readlink, sys_readlink), /* 90 */ #endif /* SOLARIS_OLD_SYSCALLS */ GENX_(__NR_setgroups, sys_setgroups), /* 91 */ GENXY(__NR_getgroups, sys_getgroups), /* 92 */ diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index ea930bafe3..31243a0db3 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -1258,7 +1258,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_symlink, sys_symlink), // 83 //zz // (__NR_oldlstat, sys_lstat), // 84 -- obsolete //zz - GENX_(__NR_readlink, sys_readlink), // 85 + GENXY(__NR_readlink, sys_readlink), // 85 //zz // (__NR_uselib, sys_uselib), // 86 */Linux //zz // (__NR_swapon, sys_swapon), // 87 */Linux //zz // (__NR_reboot, sys_reboot), // 88 */Linux @@ -1525,7 +1525,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_linkat, sys_linkat), // 303 LINX_(__NR_symlinkat, sys_symlinkat), // 304 - LINX_(__NR_readlinkat, sys_readlinkat), // 305 + LINXY(__NR_readlinkat, sys_readlinkat), // 305 LINX_(__NR_fchmodat, sys_fchmodat), // 306 LINX_(__NR_faccessat, sys_faccessat), // 307 LINXY(__NR_pselect6, sys_pselect6), // 308 |
From: Mark W. <ma...@so...> - 2024-10-05 12:50:02
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ddf397c024c80382f7a2f3a0d46d58fb839eef96 commit ddf397c024c80382f7a2f3a0d46d58fb839eef96 Author: Mark Wielaard <ma...@kl...> Date: Sat Sep 21 22:27:24 2024 +0200 Add missing FUSE_COMPATIBLE_MAY_BLOCKs Various syscalls (in particular "at" variants) PRE handlers were missing a FUSE_COMPATIBLE_MAY_BLOCK statement. Add it to the generic PRE handlers of access and statfs64. And the linux PRE handlers of mknodat, fchownat, futimesat, utimensat, utimensat_time64, renameat, renameat2, readlinkat, fchmodat, fchmodat2, faccessat and faccessat2. https://bugs.kde.org/show_bug.cgi?id=493454 Diff: --- NEWS | 1 + coregrind/m_syswrap/syswrap-generic.c | 2 ++ coregrind/m_syswrap/syswrap-linux.c | 13 +++++++++++++ 3 files changed, 16 insertions(+) diff --git a/NEWS b/NEWS index 003cf8916c..c76791aae1 100644 --- a/NEWS +++ b/NEWS @@ -67,6 +67,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 492214 statx(fd, NULL, AT_EMPTY_PATH) is supported since Linux 6.11 but not supported in valgrind 492663 Valgrind ignores debug info for some binaries +493454 Missing FUSE_COMPATIBLE_MAY_BLOCK markers To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 48be8e8bf0..e4602e44a8 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -3457,6 +3457,7 @@ PRE(sys_execve) PRE(sys_access) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_access ( %#" FMT_REGWORD "x(%s), %ld )", ARG1, (HChar*)(Addr)ARG1, SARG2); PRE_REG_READ2(long, "access", const char *, pathname, int, mode); @@ -4846,6 +4847,7 @@ POST(sys_statfs) PRE(sys_statfs64) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_statfs64 ( %#" FMT_REGWORD "x(%s), %llu, %#" FMT_REGWORD "x )", ARG1, (char*)(Addr)ARG1, (ULong)ARG2, ARG3); PRE_REG_READ3(long, "statfs64", diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 901c32e95f..a9b82d16a1 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -5869,6 +5869,7 @@ PRE(sys_mkdirat) PRE(sys_mknodat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_mknodat ( %ld, %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4 ); PRE_REG_READ4(long, "mknodat", @@ -5878,6 +5879,7 @@ PRE(sys_mknodat) PRE(sys_fchownat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_fchownat ( %ld, %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); PRE_REG_READ4(long, "fchownat", @@ -5888,6 +5890,7 @@ PRE(sys_fchownat) PRE(sys_futimesat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_futimesat ( %ld, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3); PRE_REG_READ3(long, "futimesat", @@ -5900,6 +5903,7 @@ PRE(sys_futimesat) PRE(sys_utimensat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_utimensat ( %ld, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); PRE_REG_READ4(long, "utimensat", @@ -5929,6 +5933,7 @@ PRE(sys_utimensat) PRE(sys_utimensat_time64) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_utimensat_time64 ( %ld, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); @@ -5992,6 +5997,7 @@ PRE(sys_unlinkat) PRE(sys_renameat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_renameat ( %ld, %#" FMT_REGWORD "x(%s), %ld, %#" FMT_REGWORD "x(%s) )", SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3, ARG4, (HChar*)(Addr)ARG4); @@ -6004,6 +6010,7 @@ PRE(sys_renameat) PRE(sys_renameat2) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_renameat2 ( %ld, %#" FMT_REGWORD "x(%s), %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u )", SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3, ARG4, (HChar*)(Addr)ARG4, ARG5); @@ -6045,6 +6052,8 @@ PRE(sys_readlinkat) HChar name[30]; // large enough Word saved = SYSNO; + FUSE_COMPATIBLE_MAY_BLOCK(); + PRINT("sys_readlinkat ( %ld, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %" FMT_REGWORD "u )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); PRE_REG_READ4(long, "readlinkat", @@ -6074,6 +6083,7 @@ PRE(sys_readlinkat) PRE(sys_fchmodat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_fchmodat ( %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3); PRE_REG_READ3(long, "fchmodat", @@ -6083,6 +6093,7 @@ PRE(sys_fchmodat) PRE(sys_fchmodat2) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_fchmodat2 ( %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u, %" FMT_REGWORD "u )", SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); @@ -6094,6 +6105,7 @@ PRE(sys_fchmodat2) PRE(sys_faccessat) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_faccessat ( %ld, %#" FMT_REGWORD "x(%s), %ld )", SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3); PRE_REG_READ3(long, "faccessat", @@ -6103,6 +6115,7 @@ PRE(sys_faccessat) PRE(sys_faccessat2) { + FUSE_COMPATIBLE_MAY_BLOCK(); PRINT("sys_faccessat2 ( %ld, %#" FMT_REGWORD "x(%s), %ld, %ld )", SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3, SARG4); PRE_REG_READ4(long, "faccessat2", |
From: Mark W. <ma...@so...> - 2024-10-05 12:46:22
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=eee8dd6461adb46e560f3e3981a069a6895cc241 commit eee8dd6461adb46e560f3e3981a069a6895cc241 Author: Mark Wielaard <ma...@kl...> Date: Sat Aug 31 19:47:27 2024 +0200 Implement stable variant of sync_file ioctls We implemented an old staging android variant of the sync_file ioctls. But the data structures and ioctl numbers changed when these were upstreamed in the table linux kernel. This implements the SYNC_IOC_MERGE, SYNC_IOC_FILE_INFO and SYNC_IOC_SET_DEADLINE ioctls. And makes sure to record the new file descriptor created by SYNC_IOC_MERGE. https://bugs.kde.org/show_bug.cgi?id=492422 Diff: --- coregrind/m_syswrap/syswrap-linux.c | 35 +++++++++++++++++++++++++++++++++++ include/vki/vki-linux.h | 35 +++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 12 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 4533855998..901c32e95f 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -7258,6 +7258,29 @@ PRE(sys_ioctl) PRE_FIELD_READ ("ioctl(SYNC_IOC_MERGE).fd2", data->fd2); PRE_MEM_RASCIIZ("ioctl(SYNC_IOC_MERGE).name", (Addr)(&data->name[0])); PRE_FIELD_WRITE("ioctl(SYNC_IOC_MERGE).fence", data->fence); + PRE_FIELD_READ("ioctl(SYNC_IOC_MERGE).flags", data->flags); + break; + } + + case VKI_SYNC_IOC_FILE_INFO: { + struct vki_sync_file_info* data = + (struct vki_sync_file_info*)(Addr)ARG3; + PRE_FIELD_READ ("ioctl(SYNC_IOC_FILE_INFO).flags", data->flags); + PRE_FIELD_READ ("ioctl(SYNC_IOC_FILE_INFO).num_fences", data->num_fences); + PRE_FIELD_WRITE("ioctl(SYNC_IOC_FILE_INFO).status", data->status); + if (data->num_fences) + PRE_MEM_WRITE("ioctl(SYNC_IOC_FILE_INFO).sync_fence_info", + (Addr)data->sync_fence_info, + (data->num_fences + * sizeof(sizeof(struct vki_sync_fence_info)))); + break; + } + + case VKI_SYNC_IOC_SET_DEADLINE: { + struct vki_sync_set_deadline* data = + (struct vki_sync_set_deadline*)(Addr)ARG3; + PRE_FIELD_READ ("ioctl(SYNC_IOC_SET_DEADLINE).deadline_ns", + data->deadline_ns); break; } @@ -10454,6 +10477,18 @@ POST(sys_ioctl) struct vki_sync_merge_data* data = (struct vki_sync_merge_data*)(Addr)ARG3; POST_FIELD_WRITE(data->fence); + if (VG_(clo_track_fds)) + ML_(record_fd_open_nameless) (tid, data->fence); + break; + } + + case VKI_SYNC_IOC_FILE_INFO: { + struct vki_sync_file_info* data = + (struct vki_sync_file_info*)(Addr)ARG3; + POST_FIELD_WRITE(data->status); + if (data->num_fences > 0 && (Addr)data->sync_fence_info != (Addr)NULL) + POST_MEM_WRITE(data->sync_fence_info, + data->num_fences * sizeof(struct vki_sync_fence_info)); break; } diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index 708a12b64d..006f16d922 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -3859,29 +3859,37 @@ struct vki_ion_custom_data { _VKI_IOWR(VKI_ION_IOC_MAGIC, 6, struct vki_ion_custom_data) //---------------------------------------------------------------------- -// From linux-3.19-rc5/drivers/staging/android/uapi/sync.h +// From include/uapi/linux/sync_file.h 6.10.3 //---------------------------------------------------------------------- struct vki_sync_merge_data { - __vki_s32 fd2; char name[32]; + __vki_s32 fd2; __vki_s32 fence; + __vki_u32 flags; + __vki_u32 pad; }; -struct vki_sync_pt_info { - __vki_u32 len; +struct vki_sync_fence_info { char obj_name[32]; char driver_name[32]; __vki_s32 status; - __vki_u64 timestamp_ns; - __vki_u8 driver_data[0]; + __vki_u32 flags; + __vki_u64 timestamp_ns; }; -struct vki_sync_fence_info_data { - __vki_u32 len; +struct vki_sync_file_info { char name[32]; __vki_s32 status; - __vki_u8 pt_info[0]; + __vki_u32 flags; + __vki_u32 num_fences; + __vki_u32 pad; + __vki_u64 sync_fence_info; +}; + +struct vki_sync_set_deadline { + __vki_u64 deadline_ns; + __vki_u64 pad; }; #define VKI_SYNC_IOC_MAGIC '>' @@ -3890,10 +3898,13 @@ struct vki_sync_fence_info_data { _VKI_IOW(VKI_SYNC_IOC_MAGIC, 0, __vki_s32) #define VKI_SYNC_IOC_MERGE \ - _VKI_IOWR(VKI_SYNC_IOC_MAGIC, 1, struct vki_sync_merge_data) + _VKI_IOWR(VKI_SYNC_IOC_MAGIC, 3, struct vki_sync_merge_data) + +#define VKI_SYNC_IOC_FILE_INFO \ + _VKI_IOWR(VKI_SYNC_IOC_MAGIC, 4, struct vki_sync_file_info) -#define VKI_SYNC_IOC_FENCE_INFO \ - _VKI_IOWR(VKI_SYNC_IOC_MAGIC, 2, struct vki_sync_fence_info_data) +#define VKI_SYNC_IOC_SET_DEADLINE \ + _VKI_IOW(VKI_SYNC_IOC_MAGIC, 5, struct vki_sync_set_deadline) //---------------------------------------------------------------------- // From drivers/staging/lustre/lustre/include/lustre/lustre_user.h |
From: Andreas A. <ar...@so...> - 2024-10-01 11:27:44
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=e0243e604e35efc26b06226cb2736f43ad97196b commit e0243e604e35efc26b06226cb2736f43ad97196b Author: Andreas Arnez <ar...@li...> Date: Tue Oct 1 13:20:29 2024 +0200 Update README.s390 The link to the "z/Architecture Principles of Operation" document is out of date. Update it. Diff: --- README.s390 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.s390 b/README.s390 index 86f867188a..528eafc5cc 100644 --- a/README.s390 +++ b/README.s390 @@ -42,6 +42,6 @@ Reading Material (1) ELF ABI s390x Supplement https://github.com/IBM/s390x-abi/releases (2) z/Architecture Principles of Operation - https://www.ibm.com/support/pages/zarchitecture-principles-operation -(3) z/Architecture Reference Summary - https://www.ibm.com/support/pages/zarchitecture-reference-summary + https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf +(3) Collection of z/Architecture publications + https://linux.mainframe.blog/zarchitecture-principles-of-operation/ |
From: Andreas A. <ar...@so...> - 2024-10-01 11:27:23
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=d6df4f9519ff8d5dd32add8b9b636262896a764b commit d6df4f9519ff8d5dd32add8b9b636262896a764b Author: Andreas Arnez <ar...@li...> Date: Tue Oct 1 13:12:44 2024 +0200 s390x: Add bug 440180 to NEWS As reported in Bug 440180, the s390x disassembler could run into an assertion failure due to the maximum mnemonic length being exceeded. This was fixed with commit 67a2bb759a7c9c76fd6aa142bdb6fe342a5998e2. Diff: --- NEWS | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS b/NEWS index b9cb1d5dc2..003cf8916c 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 392146 aarch64: unhandled instruction 0xD5380001 (MRS rT, midr_el1) 412377 SIGILL on cache flushes on arm64 417572 vex amd64->IR: unhandled instruction bytes: 0xC5 0x79 0xD6 0xED 0xC5 +440180 s390x: Failed assertion in disassembler 444781 MIPS: wrong syscall numbers used 447989 Support Armv8.2 SHA-512 instructions 453044 gbserver_tests failures in aarch64 |
From: Mark W. <ma...@kl...> - 2024-09-30 22:30:10
|
Sourceware infrastructure community updates for Q3 2024 Sourceware has provided the infrastructure for the core toolchain and developer tools for more than 25 years. https://sourceware.org/sourceware-25-roadmap.html The last couple of years it has transformed from a purely volunteer into a professional organization with an eight person strong Project Leadership Committee, monthly open office hours, multiple hardware services partners, expanded services, the Software Freedom Conservancy as fiscal sponsor and a more diverse funding model that allows us to enter into contracts with paid contractors or staff when appropriate. Every quarter we provide a summary of news about Sourceware, the core toolchain and developer tools infrastructure from the last 3 months. - Code snapshots for binutils and gdb - RISC-V Pioneer Box for builder.sourceware.org gcc CI - Sourceware @ Cauldron 2024 - A Sourceware Forge (an experiment with Forgejo) - Sourceware Open Office hours = Code snapshots for binutils and gdb binutils and gdb now also generate code snapshots on https://snapshots.sourceware.org Thanks to OSUOSL we now have snapshots.sourceware.org to publish static artifacts from current git repos created in isolated containers. It can be used as alternative to git hooks or cron jobs to generate snapshots for code, manuals, api or coverage reports. https://snapshots.sourceware.org/binutils/trunk https://snapshots.sourceware.org/gdb/trunk The container files and build steps are defined through the builder project. = RISC-V Pioneer Box for builder.sourceware.org gcc CI Thanks to RISC-V International and SOPHGO we got a Milk-V Pioneer Box for builder.sourceware.org that we can use for gcc CI. When originally setup a full gcc build and check took ~10 hours. After various bug fixes and tweaks to the build system it now takes ~4 hours. It has 64 cores, but single core performance isn't very fast. So fixing a few more parallelism bottlenecks could save even more build time. https://inbox.sourceware.org/202...@gn.../ = Sourceware @ Cauldron 2024 Various Sourceware Project Leadership committee members were present at the Cauldron and had an open discussion about services, plans, tips and tricks on using bugzilla and cgit, b4 and public-inbox, git-pw and patchwork, the snapshot builders and manual generation, wikis, buildbot and try-bots, ci-bots, full-builds and the bunsen testresults database and what makes developers most productive. BoF Report, Topics, and Notes: https://inbox.sourceware.org/202...@gn.../ = A Sourceware Forge (an experiment with Forgejo) In multiple discussions at the Cauldron various developers and maintainers indicated they really would like to do a serious experiment with a Forge and a pull-request workflow. There will be no drastic changes. We'll keep improving services to make the (email-based) workflows better and more efficient. But we will also do an experiment with Forgejo to let people try out a pull request workflow. We don't know if the experiment will be successful, nobody will be forced to participate, but volunteers to try it out (and help with the setup and configuration) are more than welcome. It might take up to a year to determine whether the experiment is a success or a failure. We secured a VM from Red Hat OSCI that should have enough resources for the initial experiment. The Sourceware PLC will discuss what resources are needed if we want to roll this out for all Sourceware projects. We already made anestimate for a larger gitolite server as part of the Security Vision document: https://sourceware.org/sourceware-security-vision.html Part of the Forgejo experiment will be making sure the resource estimates are correct. Sergio Durigan Junior and Mark J. Wielaard are currently setting up the Forge and hope to have a call for participation in ~2 weeks. = Sourceware Open Office hours Every second Friday of the month is the Sourceware Overseers Open Office hour in #overseers on irc.libera.chat from 16:00 till 17:00 UTC. Please feel free to drop by with any Sourceware services and hosting questions. Of course you are welcome to drop into the #overseers channel at any time and we can also be reached through email and bugzilla: https://sourceware.org/mission.html#organization If you aren't already and want to keep up to date on Sourceware infrastructure services then please also subscribe to the overseers mailinglist. https://sourceware.org/mailman/listinfo/overseers Sourceware PLC, Frank Ch. Eigler, Christopher Faylor, Ian Kelling, Ian Lance Taylor, Tom Tromey, Jon Turney, Mark J. Wielaard, Elena Zannoni |
From: Paul F. <pa...@so...> - 2024-09-30 19:13:55
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=c7aea0d7340d585e90589a51b7dca998a125c9cd commit c7aea0d7340d585e90589a51b7dca998a125c9cd Author: Paul Floyd <pj...@wa...> Date: Mon Sep 30 21:09:15 2024 +0200 FreeBSD regtest: remove unneeded expected file Previously I had #ifdef'd the freebsd7 compatibility syscalls in the scalar test for all platforms when adding the arm64 port. They are now back for amd64 and x86 so the previous expected also covers FreeBSD >= 14.0 and the extra expected file is now superfluous and removed. Diff: --- memcheck/tests/freebsd/Makefile.am | 1 - memcheck/tests/freebsd/scalar.stderr.exp-amd64-141 | 5393 -------------------- 2 files changed, 5394 deletions(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index 3cf377876f..3656be0edd 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -93,7 +93,6 @@ EXTRA_DIST = \ scalar.stderr.exp-arm64 \ scalar.stderr.exp-arm64_2 \ scalar.stderr.exp-x86 \ - scalar.stderr.exp-amd64-141 \ scalar_abort2.vgtest \ scalar_13_plus.vgtest \ scalar_13_plus.stderr.exp \ diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-amd64-141 b/memcheck/tests/freebsd/scalar.stderr.exp-amd64-141 deleted file mode 100644 index 0262328fab..0000000000 --- a/memcheck/tests/freebsd/scalar.stderr.exp-amd64-141 +++ /dev/null @@ -1,5393 +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 - -Syscall param execve(argv) 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 amd64_get_fsbase(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 2s 2m ---------------------------------------------------------- -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.revents) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -209: SYS_poll 0s 2m ---------------------------------------------------------- -Syscall param poll(ufds.fd) points to uninitialised byte(s) - ... - Address 0x........ is on thread 1's stack - -Syscall param poll(ufds.events) points to uninitialised byte(s) - ... - Address 0x........ is on thread 1's stack - ---------------------------------------------------------- -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) - ... - ---------------------------------------------------------- -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: SYS_msgrcv 4+1s 1m ---------------------------------------------------------- -Syscall param msgrcv(msqid) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgp) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgsz) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgtyp) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgflg) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgp->mtype) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param msgrcv(msgp->mtext) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -228: SYS_shmat 3s 0m ---------------------------------------------------------- -Syscall param shmat(shmid) contains uninitialised byte(s) - ... - -Syscall param shmat(addr) contains uninitialised byte(s) - ... - -Syscall param shmat(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -230: SYS_shmdt 1s 0m ---------------------------------------------------------- -Syscall param shmdt(addr) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -231: SYS_shmget 3s 0m ---------------------------------------------------------- -Syscall param shmget(key) contains uninitialised byte(s) - ... - -Syscall param shmget(size) contains uninitialised byte(s) - ... - -Syscall param shmget(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -232: SYS_clock_gettime 2s 1m ---------------------------------------------------------- -Syscall param clock_gettime(clk_id) contains uninitialised byte(s) - ... - -Syscall param clock_gettime(tp) contains uninitialised byte(s) - ... - -Syscall param clock_gettime(tp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -233: SYS_clock_settime 2s 1m ---------------------------------------------------------- -Syscall param clock_settime(clk_id) contains uninitialised byte(s) - ... - -Syscall param clock_settime(tp) contains uninitialised byte(s) - ... - -Syscall param clock_settime(tp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -234: SYS_clock_getres 2s 1m ---------------------------------------------------------- -Syscall param clock_getres(clock_id) contains uninitialised byte(s) - ... - -Syscall param clock_getres(tp) contains uninitialised byte(s) - ... - -Syscall param clock_getres(tp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -235: SYS_ktimer_create 3s 2m ---------------------------------------------------------- -Syscall param timer_create(clockid) contains uninitialised byte(s) - ... - -Syscall param timer_create(evp) contains uninitialised byte(s) - ... - -Syscall param timer_create(timerid) contains uninitialised byte(s) - ... - -Syscall param timer_create(evp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param timer_create(timerid) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -236: SYS_ktimer_delete 1s 0m ---------------------------------------------------------- -Syscall param timer_delete(timerid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -237: SYS_ktimer_settime 4s 2m ---------------------------------------------------------- -Syscall param timer_settime(timerid) contains uninitialised byte(s) - ... - -Syscall param timer_settime(flags) contains uninitialised byte(s) - ... - -Syscall param timer_settime(value) contains uninitialised byte(s) - ... - -Syscall param timer_settime(ovalue) contains uninitialised byte(s) - ... - -Syscall param timer_settime(value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param timer_settime(ovalue) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -238: SYS_ktimer_gettime 2s 1m ---------------------------------------------------------- -Syscall param timer_gettime(timerid) contains uninitialised byte(s) - ... - -Syscall param timer_gettime(value) contains uninitialised byte(s) - ... - -Syscall param timer_gettime(value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -239: SYS_ktimer_getoverrun 1s 0m ---------------------------------------------------------- -Syscall param timer_getoverrun(timerid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -240: SYS_nanosleep 2s 2m ---------------------------------------------------------- -Syscall param nanosleep(req) contains uninitialised byte(s) - ... - -Syscall param... [truncated message content] |
From: Paul F. <pa...@so...> - 2024-09-30 18:55:29
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ebc5dcd79722f39469d4c6c82d45726df7add939 commit ebc5dcd79722f39469d4c6c82d45726df7add939 Author: Paul Floyd <pj...@wa...> Date: Mon Sep 30 20:52:58 2024 +0200 FreeBSD syscalls and regtest, cleanup freebsd7 compatible syscalls on arm64 None of the freebsd7 interfaces exist on arm64 as the OS wasn't ported until well after FreeBSD 7. Diff: --- coregrind/m_syswrap/priv_syswrap-freebsd.h | 6 ++++++ coregrind/m_syswrap/syswrap-arm64-freebsd.c | 20 ++++++++------------ coregrind/m_syswrap/syswrap-freebsd.c | 14 +++++++++++++- coregrind/m_syswrap/syswrap-x86-freebsd.c | 20 ++++++++------------ include/vki/vki-scnums-freebsd.h | 6 ++++++ memcheck/tests/freebsd/scalar.c | 9 ++++++--- 6 files changed, 47 insertions(+), 28 deletions(-) diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index 040f308d8e..e405a11726 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -199,15 +199,21 @@ DECL_TEMPLATE(freebsd, sys_undelete) // 205 DECL_TEMPLATE(freebsd, sys_futimes) // 206 // generic getpgod 207 // generic poll 209 +#if !defined(VGP_arm64_freebsd) DECL_TEMPLATE(freebsd, sys_freebsd7___semctl) // 220 +#endif DECL_TEMPLATE(freebsd, sys_semget) // 221 DECL_TEMPLATE(freebsd, sys_semop) // 222 +#if !defined(VGP_arm64_freebsd) DECL_TEMPLATE(freebsd, sys_freebsd7_msgctl) // 224 +#endif DECL_TEMPLATE(freebsd, sys_msgget) // 225 DECL_TEMPLATE(freebsd, sys_msgsnd) // 226 DECL_TEMPLATE(freebsd, sys_msgrcv) // 227 DECL_TEMPLATE(freebsd, sys_shmat) // 228 +#if !defined(VGP_arm64_freebsd) DECL_TEMPLATE(freebsd, sys_freebsd7_shmctl) // 229 +#endif DECL_TEMPLATE(freebsd, sys_shmdt) // 230 DECL_TEMPLATE(freebsd, sys_shmget) // 231 DECL_TEMPLATE(freebsd, sys_clock_gettime) // 232 diff --git a/coregrind/m_syswrap/syswrap-arm64-freebsd.c b/coregrind/m_syswrap/syswrap-arm64-freebsd.c index 7d3d3a330e..da536af370 100644 --- a/coregrind/m_syswrap/syswrap-arm64-freebsd.c +++ b/coregrind/m_syswrap/syswrap-arm64-freebsd.c @@ -860,19 +860,15 @@ POST(sys_wait6) } } -// the man page is inconsistent for the last argument -// See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247386 -// will stick to 'arg' for simplicity - // SYS_procctl 544 -// int procctl(idtype_t idtype, id_t id, int cmd, void *arg); +// int procctl(idtype_t idtype, id_t id, int cmd, void *data); PRE(sys_procctl) { PRINT("sys_procctl ( %" FMT_REGWORD "d, %" FMT_REGWORD "d, %" FMT_REGWORD "d, %#" FMT_REGWORD "x )", SARG1, SARG2, SARG3, ARG4); PRE_REG_READ4(int, "procctl", vki_idtype_t, idtype, vki_id_t, id, int, cmd, - void*, arg); + void*, data); switch (ARG3) { case VKI_PROC_ASLR_CTL: case VKI_PROC_SPROTECT: @@ -882,14 +878,14 @@ PRE(sys_procctl) case VKI_PROC_STACKGAP_CTL: case VKI_PROC_NO_NEW_PRIVS_CTL: case VKI_PROC_WXMAP_CTL: - PRE_MEM_READ("procctl(arg)", ARG4, sizeof(int)); + PRE_MEM_READ("procctl(data)", ARG4, sizeof(int)); break; case VKI_PROC_REAP_STATUS: - PRE_MEM_READ("procctl(arg)", ARG4, + PRE_MEM_READ("procctl(data)", ARG4, sizeof(struct vki_procctl_reaper_status)); break; case VKI_PROC_REAP_GETPIDS: - PRE_MEM_READ("procctl(arg)", ARG4, + PRE_MEM_READ("procctl(data)", ARG4, sizeof(struct vki_procctl_reaper_pids)); break; case VKI_PROC_REAP_KILL: @@ -904,9 +900,9 @@ PRE(sys_procctl) * * There is also a pad field */ - PRE_MEM_READ("procctl(arg)", ARG4, + PRE_MEM_READ("procctl(data)", ARG4, sizeof(int) + sizeof(u_int) + sizeof(vki_pid_t)); - PRE_MEM_WRITE("procctl(arg)", + PRE_MEM_WRITE("procctl(data)", ARG4 + offsetof(struct vki_procctl_reaper_kill, rk_killed), sizeof(u_int) + sizeof(vki_pid_t)); break; @@ -917,7 +913,7 @@ PRE(sys_procctl) case VKI_PROC_TRACE_STATUS: case VKI_PROC_NO_NEW_PRIVS_STATUS: case VKI_PROC_WXMAP_STATUS: - PRE_MEM_WRITE("procctl(arg)", ARG4, sizeof(int)); + PRE_MEM_WRITE("procctl(data)", ARG4, sizeof(int)); case VKI_PROC_REAP_ACQUIRE: case VKI_PROC_REAP_RELEASE: default: diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 41372f4e15..593fd6f902 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -2208,6 +2208,7 @@ PRE(sys_futimes) // SYS_freebsd7___semctl 220 // int semctl(int semid, int semnum, int cmd, ...); +#if !defined(VGP_arm64_freebsd) PRE(sys_freebsd7___semctl) { union vki_semun* semun; @@ -2243,6 +2244,7 @@ POST(sys_freebsd7___semctl) ML_(generic_POST_sys_semctl)(tid, RES, ARG1,ARG2,ARG3,ARG4); } } +#endif // SYS_semget 221 // int semget(key_t key, int nsems, int flag); @@ -2265,6 +2267,7 @@ PRE(sys_semop) // SYS_freebsd7_msgctl 224 // int msgctl(int msqid, int cmd, struct msqid_ds_old *buf); +#if !defined(VGP_arm64_freebsd) PRE(sys_freebsd7_msgctl) { PRINT("sys_freebsd7_msgctl ( %" FMT_REGWORD "d, %" FMT_REGWORD "d, %#" FMT_REGWORD "x )", SARG1,SARG2,ARG3 ); @@ -2291,6 +2294,7 @@ POST(sys_freebsd7_msgctl) break; } } +#endif // SYS_msgget 225 // int msgget(key_t key, int msgflg); @@ -2354,6 +2358,7 @@ POST(sys_shmat) // SYS_freebsd7_shmctl 229 // int shmctl(int shmid, int cmd, struct shmid_ds *buf); +#if !defined(VGP_arm64_freebsd) PRE(sys_freebsd7_shmctl) { PRINT("sys_freebsd7_shmctl ( %" FMT_REGWORD "d, %" FMT_REGWORD "d, %#" FMT_REGWORD "x )",SARG1,SARG2,ARG3); @@ -2377,6 +2382,7 @@ POST(sys_freebsd7_shmctl) POST_MEM_WRITE( ARG3, sizeof(struct vki_shmid_ds_old) ); } } +#endif // SYS_shmdt 230 // int shmdt(const void *addr); @@ -6264,7 +6270,7 @@ PRE(sys_aio_mlock) } // SYS_procctl 544 -// amd64 / x86 +// amd64 / x86 / arm64 // SYS_ppoll 545 // int ppoll(struct pollfd fds[], nfds_t nfds, @@ -7451,18 +7457,24 @@ const SyscallTableEntry ML_(syscall_table)[] = { // netbsd newreboot 208 GENXY(__NR_poll, sys_poll), // 209 +#if !defined(VGP_arm64_freebsd) BSDXY(__NR_freebsd7___semctl, sys_freebsd7___semctl), // 220 +#endif BSDX_(__NR_semget, sys_semget), // 221 BSDX_(__NR_semop, sys_semop), // 222 // obs semconfig 223 +#if !defined(VGP_arm64_freebsd) BSDXY(__NR_freebsd7_msgctl, sys_freebsd7_msgctl), // 224 +#endif BSDX_(__NR_msgget, sys_msgget), // 225 BSDX_(__NR_msgsnd, sys_msgsnd), // 226 BSDXY(__NR_msgrcv, sys_msgrcv), // 227 BSDXY(__NR_shmat, sys_shmat), // 228 +#if !defined(VGP_arm64_freebsd) BSDXY(__NR_freebsd7_shmctl, sys_freebsd7_shmctl), // 229 +#endif BSDXY(__NR_shmdt, sys_shmdt), // 230 BSDX_(__NR_shmget, sys_shmget), // 231 diff --git a/coregrind/m_syswrap/syswrap-x86-freebsd.c b/coregrind/m_syswrap/syswrap-x86-freebsd.c index 069af4c2d7..a75d298fc2 100644 --- a/coregrind/m_syswrap/syswrap-x86-freebsd.c +++ b/coregrind/m_syswrap/syswrap-x86-freebsd.c @@ -1307,12 +1307,8 @@ POST(sys_wait6) } } -// the man page is inconsistent for the last argument -// See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247386 -// will stick to 'arg' for simplicity - // SYS_procctl 544 -// int procctl(idtype_t idtype, id_t id, int cmd, void *arg); +// int procctl(idtype_t idtype, id_t id, int cmd, void *data); PRE(sys_procctl) { PRINT("sys_procctl ( %" FMT_REGWORD "d, %llu, %" FMT_REGWORD"d, %#" FMT_REGWORD "x )", @@ -1320,7 +1316,7 @@ PRE(sys_procctl) PRE_REG_READ5(int, "procctl", vki_idtype_t, idtype, vki_uint32_t, MERGE64_FIRST(id), vki_uint32_t, MERGE64_SECOND(id), - int, cmd, void *, arg); + int, cmd, void *, data); switch (ARG4) { case VKI_PROC_ASLR_CTL: case VKI_PROC_SPROTECT: @@ -1330,13 +1326,13 @@ PRE(sys_procctl) case VKI_PROC_STACKGAP_CTL: case VKI_PROC_NO_NEW_PRIVS_CTL: case VKI_PROC_WXMAP_CTL: - PRE_MEM_READ("procctl(arg)", ARG5, sizeof(int)); + PRE_MEM_READ("procctl(data)", ARG5, sizeof(int)); break; case VKI_PROC_REAP_STATUS: - PRE_MEM_READ("procctl(arg)", ARG5, sizeof(struct vki_procctl_reaper_status)); + PRE_MEM_READ("procctl(data)", ARG5, sizeof(struct vki_procctl_reaper_status)); break; case VKI_PROC_REAP_GETPIDS: - PRE_MEM_READ("procctl(arg)", ARG5, sizeof(struct vki_procctl_reaper_pids)); + PRE_MEM_READ("procctl(data)", ARG5, sizeof(struct vki_procctl_reaper_pids)); break; case VKI_PROC_REAP_KILL: /* The first three fields are reads @@ -1350,15 +1346,15 @@ PRE(sys_procctl) * * There is also a pad field */ - PRE_MEM_READ("procctl(arg)", ARG5, sizeof(int) + sizeof(u_int) + sizeof(vki_pid_t)); - PRE_MEM_WRITE("procctl(arg)", ARG5+offsetof(struct vki_procctl_reaper_kill, rk_killed), sizeof(u_int) + sizeof(vki_pid_t)); + PRE_MEM_READ("procctl(data)", ARG5, sizeof(int) + sizeof(u_int) + sizeof(vki_pid_t)); + PRE_MEM_WRITE("procctl(data)", ARG5+offsetof(struct vki_procctl_reaper_kill, rk_killed), sizeof(u_int) + sizeof(vki_pid_t)); break; case VKI_PROC_ASLR_STATUS: case VKI_PROC_PDEATHSIG_STATUS: case VKI_PROC_STACKGAP_STATUS: case VKI_PROC_TRAPCAP_STATUS: case VKI_PROC_TRACE_STATUS: - PRE_MEM_WRITE("procctl(arg)", ARG5, sizeof(int)); + PRE_MEM_WRITE("procctl(data)", ARG5, sizeof(int)); case VKI_PROC_REAP_ACQUIRE: case VKI_PROC_REAP_RELEASE: default: diff --git a/include/vki/vki-scnums-freebsd.h b/include/vki/vki-scnums-freebsd.h index 399f14e5cc..62093a6c25 100644 --- a/include/vki/vki-scnums-freebsd.h +++ b/include/vki/vki-scnums-freebsd.h @@ -253,16 +253,22 @@ #define __NR_futimes 206 #define __NR_getpgid 207 #define __NR_poll 209 +#if !defined(VGP_arm64_freebsd) #define __NR_freebsd7___semctl 220 +#endif #define __NR_semget 221 #define __NR_semop 222 /* obs semconfig 223 */ +#if !defined(VGP_arm64_freebsd) #define __NR_freebsd7_msgctl 224 +#endif #define __NR_msgget 225 #define __NR_msgsnd 226 #define __NR_msgrcv 227 #define __NR_shmat 228 +#if !defined(VGP_arm64_freebsd) #define __NR_freebsd7_shmctl 229 +#endif #define __NR_shmdt 230 #define __NR_shmget 231 #define __NR_clock_gettime 232 diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index bdacf23e0d..c76db8ecdb 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -781,7 +781,10 @@ int main(void) SY(SYS_poll, &fds, 1, 1); SUCC; } -#if defined(SYS_freebsd7___semctl) +// On aarch64 this is defined in the header but +// the kernel returns ENOSYS +// The aarch64 port postdates FreeBSD 7 +#if defined(SYS_freebsd7___semctl) && !defined(VGP_arm64_freebsd) /* SYS_freebsd7___semctl 220 */ GO(SYS_freebsd7___semctl, "(IPC_STAT) 4s 1m"); SY(SYS_freebsd7___semctl, x0, x0, x0+IPC_STAT, x0+1); FAIL; @@ -800,7 +803,7 @@ int main(void) /* unimpl semconfig 223 */ -#if defined(SYS_freebsd7_msgctl) +#if defined(SYS_freebsd7_msgctl) && !defined(VGP_arm64_freebsd) /* SYS_freebsd7_msgctl 224 */ GO(SYS_freebsd7_msgctl, "(set) 3s 1m"); SY(SYS_freebsd7_msgctl, x0, x0+1, x0); FAIL; @@ -825,7 +828,7 @@ int main(void) GO(SYS_shmat, "3s 0m"); SY(SYS_shmat, x0, x0, x0); FAIL; -#if defined(SYS_freebsd7_shmctl) +#if defined(SYS_freebsd7_shmctl) && !defined(VGP_arm64_freebsd) /* SYS_freebsd7_shmctl 229 */ GO(SYS_freebsd7_shmctl, "3s 0m"); SY(SYS_freebsd7_shmctl, x0, x0, x0); FAIL; |