linux-user: Fix shmat() strace
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 25 Mar 2024 19:23:00 +0000 (20:23 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 27 Mar 2024 04:20:36 +0000 (18:20 -1000)
The indices of arguments passed to print_shmat() are all off-by-1,
because arg1 is the ipc() command. Fix them.

New output for linux-shmat-maps test:

    3501769 shmat(4784214,0x0000000000800000,SHM_RND) = 0

Fixes: 9f7c97324c27 ("linux-user: Add strace for shmat")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240325192436.561154-3-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/strace.c

index 51a5bdd95fa4f74d78d99c292c56cc33e108175e..b4d1098170e4032908990cb7d59efd03d77f8d1a 100644 (file)
@@ -701,7 +701,7 @@ print_ipc(CPUArchState *cpu_env, const struct syscallname *name,
         break;
     case IPCOP_shmat:
         print_shmat(cpu_env, &(const struct syscallname){ .name = "shmat" },
-                    arg1, arg4, arg2, 0, 0, 0);
+                    arg2, arg5, arg3, 0, 0, 0);
         break;
     default:
         qemu_log(("%s("