Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 14 Oct 2016 11:16:05 -0400
From: Rich Felker <>
Subject: Re: [PATCH 1/7] fix preadv2 and pwritev2 syscall numbers on
 x32 for linux v4.8

On Fri, Oct 14, 2016 at 05:13:59PM +0200, Szabolcs Nagy wrote:
> * Khem Raj <> [2016-10-14 14:09:10 +0200]:
> > On Sun, Oct 9, 2016 at 6:58 PM, Szabolcs Nagy <> 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.

More accurately, it affects programs making raw syscalls using headers
from musl libc >=v1.1.15. musl itself does not use these syscalls at


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.