From: Szabolcs Nagy <nsz@port70.net>
To: musl@lists.openwall.com
Subject: Re: [PATCH 1/7] fix preadv2 and pwritev2 syscall numbers on x32 for linux v4.8
Date: Fri, 14 Oct 2016 17:13:59 +0200 [thread overview]
Message-ID: <20161014151359.GR28065@port70.net> (raw)
In-Reply-To: <CAMKF1spZkxppe+RnZdpsmqgDNj5e4=1KLkKk_4Atu_pn82HZKA@mail.gmail.com>
* Khem Raj <raj.khem@gmail.com> [2016-10-14 14:09:10 +0200]:
> On Sun, Oct 9, 2016 at 6:58 PM, Szabolcs Nagy <nsz@port70.net> wrote:
> > the numbers were wrong in musl, but they were also wrong in the kernel
> > and got fixed in v4.8 commit 3ebfd81f7fb3e81a754e37283b7f38c62244641a
>
> what happens if we now build musl trunk with linux kernel 3.7 ?
>
on v3.7 a raw syscall(__NR_preadv2,..) should return -ENOSYS.
these syscalls appeared in v4.6 (with wrong numbers: they overlap
with existing x32 numbers), but by accident i added them using
the x86_64 numbers to musl (most x32 syscalls are mapped to
x86_64 numbers), which means there is no overlap in musl.
with >=v4.6 kernel musl would try to use the x86_64 syscalls from
x32 which is wrong and i don't know how that plays out in practice.
this affects musl >=v1.1.15
linux v4.8 fixed the numbers, so we should fix them too.
> > ---
> > arch/x32/bits/syscall.h.in | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
> > index cf2b4f1..e94dcb2 100644
> > --- a/arch/x32/bits/syscall.h.in
> > +++ b/arch/x32/bits/syscall.h.in
> > @@ -280,8 +280,6 @@
> > #define __NR_membarrier (0x40000000 + 324)
> > #define __NR_mlock2 (0x40000000 + 325)
> > #define __NR_copy_file_range (0x40000000 + 326)
> > -#define __NR_preadv2 (0x40000000 + 327)
> > -#define __NR_pwritev2 (0x40000000 + 328)
> >
> > #define __NR_rt_sigaction (0x40000000 + 512)
> > #define __NR_rt_sigreturn (0x40000000 + 513)
> > @@ -317,4 +315,6 @@
> > #define __NR_io_setup (0x40000000 + 543)
> > #define __NR_io_submit (0x40000000 + 544)
> > #define __NR_execveat (0x40000000 + 545)
> > +#define __NR_preadv2 (0x40000000 + 546)
> > +#define __NR_pwritev2 (0x40000000 + 547)
> >
> > --
> > 2.10.0
> >
next prev parent reply other threads:[~2016-10-14 15:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-09 16:58 Szabolcs Nagy
2016-10-14 12:09 ` Khem Raj
2016-10-14 15:04 ` Rich Felker
2016-10-14 15:13 ` Szabolcs Nagy [this message]
2016-10-14 15:16 ` Rich Felker
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=20161014151359.GR28065@port70.net \
--to=nsz@port70.net \
--cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).