From: David Gibson <david@gibson.dropbear.id.au>
To: Tom Musta <tommusta@gmail.com>
Cc: peter.maydell@linaro.org, riku.voipio@linaro.org,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org, agraf@suse.de
Subject: Re: [Qemu-devel] [V2 PATCH 04/12] linux-user: Make ipc syscall's third argument an abi_long
Date: Tue, 26 Aug 2014 10:39:34 +1000 [thread overview]
Message-ID: <20140826003934.GE9923@voom.redhat.com> (raw)
In-Reply-To: <1407869623-11185-5-git-send-email-tommusta@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2287 bytes --]
On Tue, Aug 12, 2014 at 01:53:35PM -0500, Tom Musta wrote:
> For those target ABIs that use the ipc system call (e.g. POWER),
> the third argument is used in the shmat path as a pointer. It
> therefore must be declared as an abi_long (versus int) so that
> the address bits are not lost in truncation. In fact, all arguments
> to do_ipc should be declared as abit_long.
>
> In fact, it makes more sense for all of the arguments to be declaried
> as abi_long (except call).
>
> Signed-off-by: Tom Musta <tommusta@gmail.com>
> ---
> V2: Changed all do_ipc arguments (except "call") to abi_long per Peter
> Maydell's review.
So, that certainly makes sense for second and third. But 'first'
really is defined as 'int' in the kernel source; what's the reason for
using a long here?
>
> linux-user/syscall.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index bee1f4e..3a4f432 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -3125,8 +3125,8 @@ static inline abi_long do_shmdt(abi_ulong shmaddr)
> #ifdef TARGET_NR_ipc
> /* ??? This only works with linear mappings. */
> /* do_ipc() must return target values and target errnos. */
> -static abi_long do_ipc(unsigned int call, int first,
> - int second, int third,
> +static abi_long do_ipc(unsigned int call, abi_long first,
> + abi_long second, abi_long third,
> abi_long ptr, abi_long fifth)
> {
> int version;
> @@ -3148,9 +3148,9 @@ static abi_long do_ipc(unsigned int call, int first,
> /* The semun argument to semctl is passed by value, so dereference the
> * ptr argument. */
> abi_ulong atptr;
> - get_user_ual(atptr, (abi_ulong)ptr);
> + get_user_ual(atptr, ptr);
> ret = do_semctl(first, second, third,
> - (union target_semun)(abi_ulong) atptr);
> + (union target_semun) atptr);
> break;
> }
>
--
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
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-08-26 1:39 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-12 18:53 [Qemu-devel] [V2 PATCH 00/12] target-ppc: Linux-User Mode Bug Fixes for Power Tom Musta
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 01/12] linux-user: PPC64 semid_ds Doesnt Include _unused1 and _unused2 Tom Musta
2014-08-26 0:20 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 02/12] linux-user: Dereference Pointer Argument to ipc/semctl Sys Call Tom Musta
2014-08-26 0:32 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 03/12] linux-user: Properly Handle semun Structure In Cross-Endian Situations Tom Musta
2014-08-26 0:36 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 04/12] linux-user: Make ipc syscall's third argument an abi_long Tom Musta
2014-08-26 0:39 ` David Gibson [this message]
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 05/12] linux-user: Conditionally Pass Attribute Pointer to mq_open() Tom Musta
2014-08-26 0:41 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 06/12] linux-user: Detect Negative Message Sizes in msgsnd System Call Tom Musta
2014-08-26 0:42 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 07/12] linux-user: Handle NULL sched_param argument to sched_* Tom Musta
2014-08-26 0:43 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 08/12] linux-user: Detect fault in sched_rr_get_interval Tom Musta
2014-08-26 0:44 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 09/12] linux-user: Minimum Sig Handler Stack Size for PPC64 ELF V2 Tom Musta
2014-08-13 12:31 ` Riku Voipio
2014-08-13 13:55 ` Tom Musta
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 10/12] linux-user: clock_nanosleep errno Handling on PPC Tom Musta
2014-08-26 0:48 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 11/12] linux-user: Support target-to-host translation of mlockall argument Tom Musta
2014-08-26 0:49 ` David Gibson
2014-08-12 18:53 ` [Qemu-devel] [V2 PATCH 12/12] linux-user: writev Partial Writes Tom Musta
2014-08-26 0:51 ` David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140826003934.GE9923@voom.redhat.com \
--to=david@gibson.dropbear.id.au \
--cc=agraf@suse.de \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=riku.voipio@linaro.org \
--cc=tommusta@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.