Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Tue, 18 Oct 2016 16:28:52 -0400
From: Rich Felker <>
Subject: [PATCH] support including linux inet headers if libc ones are
 included first

I'd like to apply something like the attached patch to fix the
longstanding issue of kernel network headers conflicting with the libc
ones. I know some people have patched this on the kernel side by
removing the defined(__GLIBC__) check in linux/libc-compat.h, but that
(1) pokes at libc internals, namely the inclusion-guard names, (2)
pretends to work if the kernel headers are included first, but
actually doesn't, and (3) they have glibc-specific logic for some of
the ipv6 fields that are only optionally-exposed, whereas musl always
exposes them (because they're in a reserved namespace).

I have no interest in trying to support the case where the kernel
headers were included first, since they may have all sorts of
gratuitous problems we'd have to work around (and maintain workarounds
for) in their definitions of the types. But simply suppressing the
kernel headers' definitions of network types via reserved-namespace
__UAPI_* macros seems reasonable.



View attachment "inet-uapi-compat.diff" of type "text/plain" (746 bytes)

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.