Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 5 Sep 2012 18:01:11 +0100
From: Justin Cormack <>
Subject: Re: capset() capget() syscalls

On Wed, Sep 5, 2012 at 3:24 PM, Rich Felker <> wrote:

> There are a lot of direct-kernel-interface-usage situations that
> require pulling in the associated kernel headers, such as fb.h, kb.h,
> etc. One issue is that the kernel headers presumably lack prototypes
> for the functions, but the most portable way to do what you're doing
> is probably going to be:
> #include <linux/capabilities.h>
> #include <sys/syscall.h>
> ...
> syscall(SYS_capset, x, y);
> At least this will work on every Linux libc I know of, and it's
> hard for them to break it.
> If you really want to see the header in musl, I'm not opposed to
> further consideration of the matter, but right now I don't think
> adding it promotes portable software; rather it seems to promote
> writing software that works on musl and breaks on glibc.

It is an unclear situation. Glibc seems inconsistent.

Personally I think Musl should provide the kernel structures and
syscalls for everything that is not deprecated.

I was looking at providing patches for a bunch of missing syscalls
(which are in glibc).

I agree with Linus, provide all the headers in libc. I tried to write
some code to include all syscalls and constants needed for them, and
as far as I can see it is impossible with glibc due to conflicts. If
anyone has a set of includes that works let me know....


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.