Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150801000251.GF16376@brightrain.aerifal.cx>
Date: Fri, 31 Jul 2015 20:02:52 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: Re: Using direct socket syscalls on x86_32 where
 available?

On Fri, Jul 31, 2015 at 11:13:54PM +0000, Brad Conroy wrote:
> On 29 July 2015 at 19:32, Andy Lutomirski <luto@...capital.net> wrote:
> > On Wed, Jul 29, 2015 at 5:51 AM, Justin Cormack
> > <justin@...cialbusservice.com> wrote:
> >> On 28 July 2015 at 08:44, Alexander Larsson <alexander.larsson@...il.com> wrote:
> >>> On Tue, Jul 28, 2015 at 1:56 AM, Andy Lutomirski <luto@...capital.net> wrote:
> >>>>
> >>>> One way to implement it would be to favor the new syscalls but to set some
> >>>> variable the first time one of them returns ENOSYS.  Once that happens,
> >>>> either all of them could fall back to socketcall or just that one syscall
> >>>> could.
> 
> 
> I've had (DRY) concerns over including a copy of unistd.h for each arch.
> If musl used system linux include headers, this could be an ifdef.
> 
> #include <linux/unistd.h>
> #ifdef __NR_something
> //use syscall
> #else
> //use socketcall
> #endif

I don't follow. This is roughly what we do and it does not solve the
problem because it assumes that the choice is constant for a given
arch, whereas the proposal is adding alternative syscalls that are
conditionally available dependent on kernel version. Supporting this
would require more complex logic for which to use and runtime fallback
code.

Rich

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.