From: Gerd Hoffmann <kraxel@redhat.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: 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: Mon, 15 Dec 2008 21:57:24 +0100 [thread overview]
Message-ID: <4946C4B4.1020605@redhat.com> (raw)
In-Reply-To: <20081215160311.GA23153@linux-mips.org>
Ralf Baechle wrote:
> On Mon, Dec 15, 2008 at 12:36:14PM +0100, Gerd Hoffmann wrote:
>
>> Next revision of the patch series, with the alignment issue fixed by
>> swapping the last two arguments as suggested by arch maintainers.
>>
>> I've dropped the now-obsolete wrappers for mips. Ralf, please
>> double-check.
>
> It fixes the alignment issue but still won't work; on MIPS 32-bit userspace
> will pass the 64-bit argument in two registers but the 64-bit kernel code
> will assume it to be passed in a single registers. It'd be ugly but passing
> a pointer to a 64-bit argument would solve the issue; something like this:
>
> sys_preadv(unsigned long fd, const struct iovec __user *vec,
> unsigned long vlen, loff_t __user *pos);
> compat_sys_preadv(unsigned long fd, const struct compat_iovec __user *vec,
> unsigned long vlen, loff_t __user *pos);
Suggestion from the s390 front was to explicitly pass high and low part
of pos as two arguments. A bit ugly too, but should work fine as well
and it avoids the user pointer dereference. What do you think about this?
> sys_splice uses loff_t __user * arguments as well and that's why it's
> doesn't need any compat wrapper.
Well, avoiding the compat wrapper altogether unfortunately isn't going
to work because struct iovec looks different in 32 and 64 bit.
> I'm surprised this works for x86; does x86-64 code really expect 64-bit
> arguments as 2 32-bit arguments?
Args are passed on the stack, not in registers.
> Patch 1/3 looks like it's a bug fix and you may want to submit this
> separate from the remainder of the series for 2.6.28?
Yep, it is a separate bugfix. Spotted by Christoph while reviewing v1,
but there are no other dependencies to this patch series.
cheers,
Gerd
next prev parent reply other threads:[~2008-12-15 20:57 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
[not found] ` <1229340977-24345-1-git-send-email-kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
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 [this message]
2008-12-16 16:05 ` Ralf Baechle
2008-12-16 16:25 ` Kyle McMartin
[not found] ` <20081216160502.GA15331-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>
2008-12-16 16:48 ` Gerd Hoffmann
2008-12-16 16:48 ` Gerd Hoffmann
2008-12-16 17:02 ` Kyle McMartin
2008-12-16 21:03 ` Arnd Bergmann
[not found] ` <20081216170209.GC410-PfSpb0PWhxZc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2008-12-16 21:34 ` Gerd Hoffmann
2008-12-16 21:34 ` Gerd Hoffmann
[not found] ` <49481EF9.3090304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
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=4946C4B4.1020605@redhat.com \
--to=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.