Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250612162636.GS1827@brightrain.aerifal.cx>
Date: Thu, 12 Jun 2025 12:26:36 -0400
From: Rich Felker <dalias@...c.org>
To: enh <enh@...gle.com>
Cc: musl@...ts.openwall.com, Namhyung Kim <namhyung@...nel.org>,
	Arnaldo Carvalho de Melo <acme@...nel.org>,
	Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Subject: Re: sys/prctl.h differences vs man page

On Thu, Jun 12, 2025 at 10:31:03AM -0400, enh wrote:
> yeah, apologies that i don't think i reported this to the list before,
> but android also hit various prctl portability issues trying to use
> musl as the host libc and added this ahead of the musl <sys/prctl.h>
> as our workaround:
> 
> #ifndef _SYS_PRCTL_H
> #define _SYS_PRCTL_H
> 
> #ifdef __cplusplus
> extern "C" {
> #endif
> 
> #include <stdint.h>
> 
> /*
>  * Get the constants and structs from uapi so that code that
>  * includes <linux/prctl.h> doesn't conflict with <sys/prctl.h>.
>  */
> #include <linux/prctl.h>
> 
> int prctl (int, ...);
> 
> #ifdef __cplusplus
> }
> #endif
> 
> #endif
> 
> "we don't duplicate anything that's in a uapi header" is just what
> bionic does for everything, all the time, but interestingly
> <sys/prctl.h> is a rare header where glibc also doesn't do their usual
> copy & paste and just includes <linux/prctl.h> instead. (which is why
> this is an issue unique to musl, not one shared with glibc.)

musl policy is generally the opposite; we don't include any linux uapi
headers and don't expect them to be namespace-safe to include from
userspace headers. Many historically haven't been, and aside from
namespace violations, they made conflicting definitions with userspace
types.

glibc is more in the middle on this, usually not including linux uapi
headers, but sometimes doing it.

I don't see where it's documented that one should include
<linux/prctl.h> to use the prctl API. It's not in my copy of the man
page.

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.