public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: [PATCH 00/12] Fix net header dependencies
Date: Mon, 08 Aug 2011 14:15:02 +0100	[thread overview]
Message-ID: <1312809302.2591.1139.camel@deadeye> (raw)
In-Reply-To: <20110807.224829.233892140193944735.davem@davemloft.net>


[-- Attachment #1.1: Type: text/plain, Size: 3405 bytes --]

Various networking headers depend on definitions from others which they
don't include.  We can't fix all of these, because some definitions are
duplicated between kernel headers and glibc headers and we cannot tell
which is the right one to include.  We also have to be wary of
introducing a dependency cycle.

The attached test program tests whether various header inclusion
sequences work, in the sense that compilation is successful.  I used gcc
4.6.1, eglibc 2.13, and kernel headers from Linux 3.0 initially  This
resulted in 120 failures.  After the following changes, there are 65
failures and no regressions.

Ben.

Ben Hutchings (12):
  headers, pppox: Add missing #include to <linux/if_pppox.h>
  headers, ax25: Add missing #include to <linux/netrom.h>,
    <linux/rose.h>
  headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>
  headers, net: Use __kernel_sa_family_t in more definitions shared
    with userland
  headers, net: Define struct __kernel_sockaddr, replacing struct
    sockaddr
  headers, netfilter: Use kernel type names __u8, __u16, __u32
  headers, tipc: Add missing #include to <linux/tipc_config.h> for
    userland
  headers, netfilter: Add missing #include <limits.h> for userland
  headers, xtables: Add missing #include <linux/netfilter.h>
  headers, can: Add missing #include to <linux/can/bcm.h>
  headers, scc: Add missing #include to <linux/scc.h>
  headers, ppp: Add missing #include to <linux/if_ppp.h>

 include/linux/atalk.h                     |    3 ++-
 include/linux/ax25.h                      |    2 +-
 include/linux/caif/caif_socket.h          |    7 +------
 include/linux/can.h                       |    2 +-
 include/linux/can/bcm.h                   |    1 +
 include/linux/if.h                        |   12 ++++++------
 include/linux/if_ppp.h                    |    1 +
 include/linux/if_pppol2tp.h               |    2 +-
 include/linux/if_pppox.h                  |    9 +++++----
 include/linux/in.h                        |    2 +-
 include/linux/ipx.h                       |    2 +-
 include/linux/irda.h                      |    9 +++------
 include/linux/l2tp.h                      |    7 ++++---
 include/linux/llc.h                       |   10 +++++++---
 include/linux/netfilter/xt_connlimit.h    |    1 +
 include/linux/netfilter/xt_conntrack.h    |    1 +
 include/linux/netfilter/xt_iprange.h      |    1 +
 include/linux/netfilter_arp/arp_tables.h  |   14 +++++++-------
 include/linux/netfilter_decnet.h          |    3 +++
 include/linux/netfilter_ipv4.h            |    3 +++
 include/linux/netfilter_ipv4/ip_tables.h  |   20 ++++++++++----------
 include/linux/netfilter_ipv6.h            |    3 +++
 include/linux/netfilter_ipv6/ip6_tables.h |   22 +++++++++++-----------
 include/linux/netlink.h                   |    2 +-
 include/linux/netrom.h                    |    2 ++
 include/linux/phonet.h                    |    6 ++++--
 include/linux/rose.h                      |    7 +++++--
 include/linux/scc.h                       |    1 +
 include/linux/socket.h                    |   17 +++++++++--------
 include/linux/tipc_config.h               |    4 ++++
 include/linux/un.h                        |    4 +++-
 include/linux/x25.h                       |    3 ++-
 32 files changed, 106 insertions(+), 77 deletions(-)

-- 
1.7.5.4



[-- Attachment #1.2: net-header-test.sh --]
[-- Type: application/x-shellscript, Size: 3390 bytes --]

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  reply	other threads:[~2011-08-08 13:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-05 21:45 include/linux/netlink.h: problem when included by an application Michel Machado
2011-08-07  1:15 ` Ben Hutchings
2011-08-07 22:14   ` Michel Machado
2011-08-08  5:48     ` David Miller
2011-08-08 13:15       ` Ben Hutchings [this message]
2011-08-08 13:16         ` [PATCH 01/12] headers, pppox: Add missing #include to <linux/if_pppox.h> Ben Hutchings
2011-08-08 13:17         ` [PATCH 02/12] headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h> Ben Hutchings
2011-08-08 14:07           ` Ralf Baechle
2011-08-08 13:17         ` [PATCH 03/12] headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h> Ben Hutchings
2011-08-08 13:18         ` [PATCH 04/12] headers, net: Use __kernel_sa_family_t in more definitions shared with userland Ben Hutchings
2011-08-08 13:18         ` [PATCH 05/12] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr Ben Hutchings
2011-08-08 13:19         ` [PATCH 06/12] headers, netfilter: Use kernel type names __u8, __u16, __u32 Ben Hutchings
2011-08-08 13:19         ` [PATCH 07/12] headers, tipc: Add missing #include to <linux/tipc_config.h> for userland Ben Hutchings
2011-08-08 13:20         ` [PATCH 08/12] headers, netfilter: Add missing #include <limits.h> " Ben Hutchings
2011-08-08 13:20         ` [PATCH 09/12] headers, xtables: Add missing #include <linux/netfilter.h> Ben Hutchings
2011-08-09 15:29           ` Patrick McHardy
2011-08-08 13:20         ` [PATCH 10/12] headers, can: Add missing #include to <linux/can/bcm.h> Ben Hutchings
2011-08-08 15:15           ` Oliver Hartkopp
2011-08-08 13:24         ` [PATCH 11/12] headers, scc: Add missing #include to <linux/scc.h> Ben Hutchings
2011-08-08 18:20           ` Ben Hutchings
2011-08-09  7:14             ` walter harms
2011-08-08 13:25         ` [PATCH 12/12] headers, ppp: Add missing #include to <linux/if_ppp.h> Ben Hutchings
2011-08-09  7:27           ` David Miller
2011-08-09 12:40             ` Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1312809302.2591.1139.camel@deadeye \
    --to=ben@decadent.org.uk \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox