From: Paul Floyd Date: Sun, 16 Feb 2025 06:57:43 +0000 (+0100) Subject: Illumos regtest: getrandom uses a different syscall number from Solaris X-Git-Tag: VALGRIND_3_25_0~140 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1f0a7daeb3ef4c98ad54821419fe02597592265;p=thirdparty%2Fvalgrind.git Illumos regtest: getrandom uses a different syscall number from Solaris It doesn't look like the syscall interface changed, just the number. --- diff --git a/coregrind/m_syswrap/syswrap-solaris.c b/coregrind/m_syswrap/syswrap-solaris.c index faeea15f5..3da0d216c 100644 --- a/coregrind/m_syswrap/syswrap-solaris.c +++ b/coregrind/m_syswrap/syswrap-solaris.c @@ -10947,7 +10947,7 @@ static SyscallTableEntry syscall_table[] = { SOLXY(__NR_uuidsys, sys_uuidsys), /* 124 */ #endif /* SOLARIS_UUIDSYS_SYSCALL */ #if defined(HAVE_MREMAP) - GENX_(__NR_mremap, sys_mremap), /* 126 */ + GENX_(__NR_mremap, sys_mremap), /* 126 (Solaris only, not Illumos) */ #endif /* HAVE_MREMAP */ SOLX_(__NR_mmapobj, sys_mmapobj), /* 127 */ GENX_(__NR_setrlimit, sys_setrlimit), /* 128 */ @@ -10968,7 +10968,7 @@ static SyscallTableEntry syscall_table[] = { SOLX_(__NR_seteuid, sys_seteuid), /* 141 */ SOLX_(__NR_forksys, sys_forksys), /* 142 */ #if defined(SOLARIS_GETRANDOM_SYSCALL) - SOLXY(__NR_getrandom, sys_getrandom), /* 143 */ + SOLXY(__NR_getrandom, sys_getrandom), /* 143 (Solaris) 126 (Illumos) */ #endif /* SOLARIS_GETRANDOM_SYSCALL */ SOLXY(__NR_sigtimedwait, sys_sigtimedwait), /* 144 */ SOLX_(__NR_yield, sys_yield), /* 146 */ diff --git a/memcheck/tests/solaris/Makefile.am b/memcheck/tests/solaris/Makefile.am index 7cf1ac07c..0c0d551ed 100644 --- a/memcheck/tests/solaris/Makefile.am +++ b/memcheck/tests/solaris/Makefile.am @@ -34,6 +34,7 @@ EXTRA_DIST = \ scalar_auditon_stat.stderr.exp scalar_auditon_stat.stdout.exp scalar_auditon_stat.vgtest \ scalar_frealpathat.stderr.exp scalar_frealpathat.stdout.exp scalar_frealpathat.vgtest \ scalar_getrandom.stderr.exp scalar_getrandom.stdout.exp scalar_getrandom.vgtest \ + scalar_getrandom.stderr.exp-illumos \ scalar_ioctl.stderr.exp scalar_ioctl.stdout.exp scalar_ioctl.vgtest \ scalar_lwp_kill.stderr.exp scalar_lwp_kill.stdout.exp scalar_lwp_kill.vgtest \ scalar_lwp_name.stderr.exp scalar_lwp_name.stdout.exp scalar_lwp_name.vgtest \ diff --git a/memcheck/tests/solaris/scalar_getrandom.stderr.exp-illumos b/memcheck/tests/solaris/scalar_getrandom.stderr.exp-illumos new file mode 100644 index 000000000..7e84a4849 --- /dev/null +++ b/memcheck/tests/solaris/scalar_getrandom.stderr.exp-illumos @@ -0,0 +1,16 @@ +--------------------------------------------------------- +126: SYS_getrandom (getrandom) 3s 1m +--------------------------------------------------------- +Syscall param getrandom(buf) contains uninitialised byte(s) + ... + +Syscall param getrandom(buflen) contains uninitialised byte(s) + ... + +Syscall param getrandom(flags) contains uninitialised byte(s) + ... + +Syscall param getrandom(buf) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd +