mailing list of musl libc
 help / color / mirror / code / Atom feed
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
> >


  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).