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. Comments? Rich