All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kyle McMartin <kyle@infradead.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH v3 0/3] preadv & pwritev syscalls.
Date: Tue, 16 Dec 2008 12:02:09 -0500	[thread overview]
Message-ID: <20081216170209.GC410@bombadil.infradead.org> (raw)
In-Reply-To: <4947DBFA.9050108@redhat.com>

On Tue, Dec 16, 2008 at 05:48:58PM +0100, Gerd Hoffmann wrote:
> i.e. the ordering of the splitted argument depends on the os endianness?
> What is the reason for this?
> 

Eh? The splitting will occur at the C ABI level, not as a result of
glibc (though, it could be done that way if you really wanted, but then
you're just moving the wrapper up the chain.)

A 64-bit value on a 32-bit machine will look like, in a register pair,
like it looks in memory, with MSB/LSB ordering.

> I'd prefer to have the ordering coded explicitly instead, like this:
> 
> asmlinkage int compat_sys_pwritev(unsigned long fd,
>        const struct compat_iovec __user *vec, unsigned long vlen,
>        unsigned pos_low, unsigned pos_high)
> {
> 	loff_t pos = pos_low | (loff_t)pos_high << 32;
>         [ ... ]
> 

Sadly this isn't possible without a wrapper unless you can guarantee
it was passed low high instead of high low. Unless you munge it in
userspace, you can't.

regards, Kyle

  reply	other threads:[~2008-12-16 17:02 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-15 11:36 [PATCH v3 0/3] preadv & pwritev syscalls Gerd Hoffmann
2008-12-15 11:36 ` Gerd Hoffmann
2008-12-15 11:36 ` [PATCH v3 1/3] Add missing accounting calls to compat_sys_{readv,writev} Gerd Hoffmann
2008-12-15 11:36 ` [PATCH v3 2/3] Add preadv and pwritev system calls Gerd Hoffmann
2008-12-15 11:36 ` [PATCH v3 3/3] MIPS: Add preadv(2) and pwritev(2) syscalls Gerd Hoffmann
2008-12-15 11:36   ` Gerd Hoffmann
2008-12-15 16:03 ` [PATCH v3 0/3] preadv & pwritev syscalls Ralf Baechle
2008-12-15 16:03   ` Ralf Baechle
2008-12-15 20:02   ` David Miller
2008-12-15 20:57   ` Gerd Hoffmann
2008-12-16 16:05     ` Ralf Baechle
2008-12-16 16:25       ` Kyle McMartin
2008-12-16 16:48       ` Gerd Hoffmann
2008-12-16 16:48         ` Gerd Hoffmann
2008-12-16 17:02         ` Kyle McMartin [this message]
2008-12-16 21:03           ` Arnd Bergmann
2008-12-16 21:34           ` Gerd Hoffmann
2008-12-16 21:34             ` Gerd Hoffmann
2008-12-16 22:39             ` Heiko Carstens
2008-12-16 22:39               ` Heiko Carstens

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=20081216170209.GC410@bombadil.infradead.org \
    --to=kyle@infradead.org \
    --cc=kraxel@redhat.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    /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.