[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [V2 PATCH 03/12] linux-user: Properly Handle semun Stru
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [V2 PATCH 03/12] linux-user: Properly Handle semun Structure In Cross-Endian Situations |
Date: |
Tue, 26 Aug 2014 10:36:34 +1000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Aug 12, 2014 at 01:53:34PM -0500, Tom Musta wrote:
> The semun union used in the semctl system call contains both an int (val) and
> pointers. In cross-endian situations on 64 bit targets, the value passed to
> semctl is an 8 byte (abi_long) value and thus does not have the 4-byte val
> field in the correct location. In order to rectify this, the other half
> of the union must be accessed. This is achieved in code by performing
> a byte swap on the entire 8 byte union, followed by a 4-byte swap of the
> first half.
>
> Also, eliminate an extraneous (dead) line of code that sets target_su.val in
> the IPC_SET/IPC_GET case.
>
> Signed-off-by: Tom Musta <address@hidden>
Reviewed-by: David Gibson <address@hidden>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
pgpDXc7xfo9zp.pgp
Description: PGP signature
- [Qemu-devel] [V2 PATCH 00/12] target-ppc: Linux-User Mode Bug Fixes for Power, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 01/12] linux-user: PPC64 semid_ds Doesnt Include _unused1 and _unused2, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 02/12] linux-user: Dereference Pointer Argument to ipc/semctl Sys Call, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 03/12] linux-user: Properly Handle semun Structure In Cross-Endian Situations, Tom Musta, 2014/08/12
- Re: [Qemu-devel] [V2 PATCH 03/12] linux-user: Properly Handle semun Structure In Cross-Endian Situations,
David Gibson <=
- [Qemu-devel] [V2 PATCH 04/12] linux-user: Make ipc syscall's third argument an abi_long, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 05/12] linux-user: Conditionally Pass Attribute Pointer to mq_open(), Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 06/12] linux-user: Detect Negative Message Sizes in msgsnd System Call, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 08/12] linux-user: Detect fault in sched_rr_get_interval, Tom Musta, 2014/08/12
- [Qemu-devel] [V2 PATCH 07/12] linux-user: Handle NULL sched_param argument to sched_*, Tom Musta, 2014/08/12