File msgctl.patch of Package qemu
Index: qemu-10.1.0/linux-user/syscall.c
===================================================================
--- qemu-10.1.0.orig/linux-user/syscall.c
+++ qemu-10.1.0/linux-user/syscall.c
@@ -4177,8 +4177,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;
abi_ulong __unused4;
abi_ulong __unused5;
};
@@ -4198,8 +4198,8 @@ static inline abi_long target_to_host_ms
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;
}
@@ -4219,8 +4219,8 @@ static inline abi_long host_to_target_ms
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;
}