]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
FreeBSD syscall: faccessat has 4 arguments, not 3
authorPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 14 Jan 2026 19:38:12 +0000 (20:38 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Wed, 14 Jan 2026 19:38:12 +0000 (20:38 +0100)
coregrind/m_syswrap/syswrap-freebsd.c
memcheck/tests/freebsd/scalar.c
memcheck/tests/freebsd/scalar.stderr.exp
memcheck/tests/freebsd/scalar.stderr.exp-x86

index 2870b4eb723cd885e45edac4a51e4fbcb012f9f3..a69fb4fb28bcad251319159d32896642b43f35a4 100644 (file)
@@ -5111,9 +5111,9 @@ PRE(sys_shm_open)
    PRE_REG_READ3(int, "shm_open",
                  const char *, path, int, flags, vki_mode_t, mode);
    if (ARG1 == VKI_SHM_ANON) {
-      PRINT("sys_shm_open(%#" FMT_REGWORD "x(SHM_ANON), %" FMT_REGWORD "u, %hu)", ARG1, ARG2, (vki_mode_t)ARG3);
+      PRINT("sys_shm_open(%#" FMT_REGWORD "x(SHM_ANON), %" FMT_REGWORD "d, %hu)", ARG1, SARG2, (vki_mode_t)ARG3);
    } else {
-      PRINT("sys_shm_open(%#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u, %hu)", ARG1, (HChar *)ARG1, ARG2, (vki_mode_t)ARG3);
+      PRINT("sys_shm_open(%#" FMT_REGWORD "x(%s), %" FMT_REGWORD "d, %hu)", ARG1, (HChar *)ARG1, SARG2, (vki_mode_t)ARG3);
       PRE_MEM_RASCIIZ( "shm_open(path)", ARG1 );
    }
    *flags |= SfMayBlock;
@@ -5176,9 +5176,10 @@ POST(sys_cpuset)
 // int faccessat(int fd, const char *path, int mode, int flag);
 PRE(sys_faccessat)
 {
-   PRINT("sys_faccessat ( %" FMT_REGWORD "u, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u )", ARG1,ARG2,(char*)ARG2,ARG3);
-   PRE_REG_READ3(int, "faccessat",
-                 int, fd, const char *, path, int, flag);
+   PRINT("sys_faccessat ( %" FMT_REGWORD "u, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "d, %" FMT_REGWORD "d )",
+         ARG1, ARG2,(char*)ARG2, SARG3, SARG4);
+   PRE_REG_READ4(int, "faccessat",
+                 int, fd, const char *, path, int, mode, int, flag);
    ML_(fd_at_check_allowed)(SARG1, (const HChar*)ARG2, "faccessat", tid, status);
    PRE_MEM_RASCIIZ( "faccessat(path)", ARG2 );
 }
index b4d7a46d13dadcba7e55cd3a2959a254d7759bce..7f8504c7fcc54ab63d4ca47e5c1a170e3dbd5805 100644 (file)
@@ -1826,8 +1826,8 @@ int main(void)
    SY(SYS_cpuset_setaffinity, x0+100, x0+100, x0+200, x0+500, x0+1); FAIL;
 
    /* SYS_faccessat               489 */
-   GO(SYS_faccessat, "3s 1m");
-   SY(SYS_faccessat, x0+1, x0, x0); FAIL;
+   GO(SYS_faccessat, "4s 1m");
+   SY(SYS_faccessat, x0+1, x0, x0, x0); FAIL;
 
    /* SYS_fchmodat                490 */
    GO(SYS_fchmodat, "4s 1m");
index 449075f3e02e6ea977a7de843bb138fafcdc9149..61b4e9ff631ede3b5076a4a6231a9b416cf404e5 100644 (file)
@@ -4129,7 +4129,7 @@ Syscall param cpuset_setaffinity points to unaddressable byte(s)
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
 ---------------------------------------------------------
-489:           SYS_faccessat 3s 1m
+489:           SYS_faccessat 4s 1m
 ---------------------------------------------------------
 Syscall param faccessat(fd) contains uninitialised byte(s)
    ...
@@ -4137,6 +4137,9 @@ Syscall param faccessat(fd) contains uninitialised byte(s)
 Syscall param faccessat(path) contains uninitialised byte(s)
    ...
 
+Syscall param faccessat(mode) contains uninitialised byte(s)
+   ...
+
 Syscall param faccessat(flag) contains uninitialised byte(s)
    ...
 
index e7e2ce0a6bdff6cf9d841783f091d5ed7c0818ae..e45da9912456074c152cf4c1f4c89e8ef5790211 100644 (file)
@@ -4168,7 +4168,7 @@ Syscall param cpuset_setaffinity points to unaddressable byte(s)
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
 ---------------------------------------------------------
-489:           SYS_faccessat 3s 1m
+489:           SYS_faccessat 4s 1m
 ---------------------------------------------------------
 Syscall param faccessat(fd) contains uninitialised byte(s)
    ...
@@ -4176,6 +4176,9 @@ Syscall param faccessat(fd) contains uninitialised byte(s)
 Syscall param faccessat(path) contains uninitialised byte(s)
    ...
 
+Syscall param faccessat(mode) contains uninitialised byte(s)
+   ...
+
 Syscall param faccessat(flag) contains uninitialised byte(s)
    ...