Hi Andreas,

On 9/10/25 14:56, Andreas Schwab wrote:
The msg_lspid and msg_lrpid members are of type pid_t, which is a 32-bit
integer.

Signed-off-by: Andreas Schwab <[email protected]>
---
  linux-user/syscall.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0956a7b310..3dcdb3ef42 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4185,8 +4185,8 @@ struct target_msqid_ds
      abi_ulong __msg_cbytes;
      abi_ulong msg_qnum;
      abi_ulong msg_qbytes;
-    abi_ulong msg_lspid;
-    abi_ulong msg_lrpid;
+    unsigned int msg_lspid;
+    unsigned int msg_lrpid;

Why not use the explicit 'uint32_t' type?

      abi_ulong __unused4;
      abi_ulong __unused5;
  };
@@ -4206,8 +4206,8 @@ static inline abi_long target_to_host_msqid_ds(struct 
msqid_ds *host_md,
      host_md->__msg_cbytes = tswapal(target_md->__msg_cbytes);
      host_md->msg_qnum = tswapal(target_md->msg_qnum);
      host_md->msg_qbytes = tswapal(target_md->msg_qbytes);
-    host_md->msg_lspid = tswapal(target_md->msg_lspid);
-    host_md->msg_lrpid = tswapal(target_md->msg_lrpid);
+    host_md->msg_lspid = tswap32(target_md->msg_lspid);
+    host_md->msg_lrpid = tswap32(target_md->msg_lrpid);
      unlock_user_struct(target_md, target_addr, 0);
      return 0;
  }
@@ -4227,8 +4227,8 @@ static inline abi_long host_to_target_msqid_ds(abi_ulong 
target_addr,
      target_md->__msg_cbytes = tswapal(host_md->__msg_cbytes);
      target_md->msg_qnum = tswapal(host_md->msg_qnum);
      target_md->msg_qbytes = tswapal(host_md->msg_qbytes);
-    target_md->msg_lspid = tswapal(host_md->msg_lspid);
-    target_md->msg_lrpid = tswapal(host_md->msg_lrpid);
+    target_md->msg_lspid = tswap32(host_md->msg_lspid);
+    target_md->msg_lrpid = tswap32(host_md->msg_lrpid);
      unlock_user_struct(target_md, target_addr, 1);
      return 0;
  }


Reply via email to