Subject: Re: [PATCH net-2.6] Revert "net: Support inclusion of <linux/socket.h> before <sys/socket.h>"

From: Ben Hutchings <[email-masked]>
Date: Thu, 12 Nov 2009 03:05:15 +0000

On Wed, 2009-11-11 at 18:51 -0800, David Miller wrote:
> From: Ben Hutchings <[email-masked]>
> Date: Thu, 12 Nov 2009 02:00:05 +0000
> 
> > This reverts commit 9c501935a3cdcf6b1d35aaee3aa11c7a7051a305.  That
> > commit caused <linux/rtnetlink.h> to require that <sys/socket.h> is
> > included first, breaking autoconf tests for <linux/rtnetlink.h> and
> > presumably some real programs too.
> > 
> > Signed-off-by: Ben Hutchings <[email-masked]>
> 
> I'm not reverting this Ben.  The dependency those programs and
> autoconf tests have is _dubious_ at best.
> 
> It means they were depending upon the libc5 checks passing, that's
> rediculious and not something we should cater to.
[...]

Sorry, I'm getting my headers mixed up.  The problem is with
<linux/netlink.h> not <linux/rtnetlink.h>.

<linux/netlink.h> will not compile for userland, because
<linux/socket.h> is no longer defining sa_family_t.  For userland, this
should be defined by <sys/socket.h>.

Ben.

-- 
Ben Hutchings
Lowery's Law:
             If it jams, force it. If it breaks, it needed replacing anyway.