Date: Fri, 14 Oct 2016 17:13:59 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: [PATCH 1/7] fix preadv2 and pwritev2 syscall numbers on x32 for linux v4.8 * Khem Raj <raj.khem@...il.com> [2016-10-14 14:09:10 +0200]: > On Sun, Oct 9, 2016 at 6:58 PM, Szabolcs Nagy <nsz@...t70.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 > >
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.