Thread (6 messages) 6 messages, 4 authors, 2019-12-30

Re: Re: [PATCH] uapi: Prevent redefinition of struct iphdr

From: Rich Felker <dalias@libc.org>
Date: 2019-12-30 17:12:29
Also in: netdev

On Thu, Dec 26, 2019 at 12:13:37PM +0100, Daniel Kolesa wrote:
On Thu, Dec 26, 2019, at 04:49, David Miller wrote:
quoted
From: Rich Felker <dalias@libc.org>
Date: Wed, 25 Dec 2019 20:05:15 -0500
quoted
On Wed, Dec 25, 2019 at 04:34:11PM -0800, David Miller wrote:
quoted
I find it really strange that this, therefore, only happens for musl
and we haven't had thousands of reports of this conflict with glibc
over the years.
It's possible that there's software that's including just one of the
headers conditional on __GLIBC__, and including both otherwise, or
something like that. Arguably this should be considered unsupported
usage; there are plenty of headers where that doesn't work and
shouldn't be expected to.
I don't buy that, this is waaaaaay too common a header to use.
In case of net-tools, only <linux/ip.h> is included, and never
<netinet/ip.h> directly. Chances are in musl the indirect include
tree happens to be different and conflicting, while in glibc it is
not.
musl has no indirect inclusion of netinet/ip.h from standard headers,
but does include it from netinet/ip_icmp.h. It seems glibc only does
this conditional on __USE_MISC, which doesn't make much sense to me
since this is not a standardized header with namespace rules, but
normally __USE_MISC is defined anyway on glibc so I kinda doubt this
is the difference.

Any other ideas?

Rich
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help