Date: Mon, 30 Dec 2019 12:12:02 -0500 From: Rich Felker <dalias@...c.org> To: Daniel Kolesa <daniel@...aforge.org> Cc: David Miller <davem@...emloft.net>, musl@...ts.openwall.com, AWilcox@...cox-Tech.com, netdev@...r.kernel.org, linux-api@...r.kernel.org Subject: Re: Re: [PATCH] uapi: Prevent redefinition of struct iphdr On Thu, Dec 26, 2019 at 12:13:37PM +0100, Daniel Kolesa wrote: > On Thu, Dec 26, 2019, at 04:49, David Miller wrote: > > From: Rich Felker <dalias@...c.org> > > Date: Wed, 25 Dec 2019 20:05:15 -0500 > > > > > On Wed, Dec 25, 2019 at 04:34:11PM -0800, David Miller wrote: > > >> 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
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.