* [PATCH net-next v2 01/10] headers, pppox: Add missing #include to <linux/if_pppox.h>
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
@ 2011-08-25 4:40 ` Ben Hutchings
2011-08-25 4:43 ` [PATCH net-next v2 02/10] headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h> Ben Hutchings
` (9 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:40 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Michal Ostrowski
[-- Attachment #1: Type: text/plain, Size: 633 bytes --]
<linux/if_ppox.h> uses ETH_ALEN, defined in <linux/if_ether.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/linux/if_pppox.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h
index 397921b..60e5558 100644
--- a/include/linux/if_pppox.h
+++ b/include/linux/if_pppox.h
@@ -20,8 +20,8 @@
#include <linux/types.h>
#include <asm/byteorder.h>
-#ifdef __KERNEL__
#include <linux/if_ether.h>
+#ifdef __KERNEL__
#include <linux/if.h>
#include <linux/netdevice.h>
#include <linux/ppp_channel.h>
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 02/10] headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
2011-08-25 4:40 ` [PATCH net-next v2 01/10] headers, pppox: Add missing #include to <linux/if_pppox.h> Ben Hutchings
@ 2011-08-25 4:43 ` Ben Hutchings
2011-08-25 4:43 ` [PATCH net-next v2 03/10] headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h> Ben Hutchings
` (8 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:43 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Ralf Baechle, linux-hams
[-- Attachment #1: Type: text/plain, Size: 915 bytes --]
These headers use the ax25_address type defined in <linux/ax25.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
---
include/linux/netrom.h | 2 ++
include/linux/rose.h | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/include/linux/netrom.h b/include/linux/netrom.h
index 6939b32..af7313c 100644
--- a/include/linux/netrom.h
+++ b/include/linux/netrom.h
@@ -7,6 +7,8 @@
#ifndef NETROM_KERNEL_H
#define NETROM_KERNEL_H
+#include <linux/ax25.h>
+
#define NETROM_MTU 236
#define NETROM_T1 1
diff --git a/include/linux/rose.h b/include/linux/rose.h
index c7b4b18..e8289cd 100644
--- a/include/linux/rose.h
+++ b/include/linux/rose.h
@@ -7,6 +7,8 @@
#ifndef ROSE_KERNEL_H
#define ROSE_KERNEL_H
+#include <linux/ax25.h>
+
#define ROSE_MTU 251
#define ROSE_MAX_DIGIS 6
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 03/10] headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
2011-08-25 4:40 ` [PATCH net-next v2 01/10] headers, pppox: Add missing #include to <linux/if_pppox.h> Ben Hutchings
2011-08-25 4:43 ` [PATCH net-next v2 02/10] headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h> Ben Hutchings
@ 2011-08-25 4:43 ` Ben Hutchings
2011-08-25 4:43 ` [PATCH net-next v2 04/10] headers, net: Use __kernel_sa_family_t in more definitions shared with userland Ben Hutchings
` (7 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:43 UTC (permalink / raw)
To: David Miller; +Cc: netdev
[-- Attachment #1: Type: text/plain, Size: 755 bytes --]
<linux/types.h> defines __kernel_pid_t for userland; pid_t is
defined elsewhere (and potentially differently).
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/linux/if_pppol2tp.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h
index 184bc55..23cefa1 100644
--- a/include/linux/if_pppol2tp.h
+++ b/include/linux/if_pppol2tp.h
@@ -39,7 +39,7 @@ struct pppol2tp_addr {
* bits. So we need a different sockaddr structure.
*/
struct pppol2tpv3_addr {
- pid_t pid; /* pid that owns the fd.
+ __kernel_pid_t pid; /* pid that owns the fd.
* 0 => current */
int fd; /* FD of UDP or IP socket to use */
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 04/10] headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (2 preceding siblings ...)
2011-08-25 4:43 ` [PATCH net-next v2 03/10] headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h> Ben Hutchings
@ 2011-08-25 4:43 ` Ben Hutchings
2011-08-25 4:44 ` [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr Ben Hutchings
` (6 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:43 UTC (permalink / raw)
To: David Miller; +Cc: netdev
[-- Attachment #1: Type: text/plain, Size: 11414 bytes --]
Complete the work started with commit
6602a4baf4d1a73cc4685a39ef859e1c5ddf654c ('net: Make userland include
of netlink.h more sane').
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/linux/atalk.h | 3 ++-
include/linux/ax25.h | 2 +-
include/linux/caif/caif_socket.h | 7 +------
include/linux/can.h | 2 +-
include/linux/if_pppox.h | 7 ++++---
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/netlink.h | 2 +-
include/linux/phonet.h | 5 +++--
include/linux/rose.h | 5 +++--
include/linux/un.h | 4 +++-
include/linux/x25.h | 3 ++-
15 files changed, 37 insertions(+), 33 deletions(-)
diff --git a/include/linux/atalk.h b/include/linux/atalk.h
index d34c187..f57c368 100644
--- a/include/linux/atalk.h
+++ b/include/linux/atalk.h
@@ -3,6 +3,7 @@
#include <linux/types.h>
#include <asm/byteorder.h>
+#include <linux/socket.h>
/*
* AppleTalk networking structures
@@ -28,7 +29,7 @@ struct atalk_addr {
};
struct sockaddr_at {
- sa_family_t sat_family;
+ __kernel_sa_family_t sat_family;
__u8 sat_port;
struct atalk_addr sat_addr;
char sat_zero[8];
diff --git a/include/linux/ax25.h b/include/linux/ax25.h
index 56c11f0..74c89a4 100644
--- a/include/linux/ax25.h
+++ b/include/linux/ax25.h
@@ -47,7 +47,7 @@ typedef struct {
} ax25_address;
struct sockaddr_ax25 {
- sa_family_t sax25_family;
+ __kernel_sa_family_t sax25_family;
ax25_address sax25_call;
int sax25_ndigis;
/* Digipeater ax25_address sets follow */
diff --git a/include/linux/caif/caif_socket.h b/include/linux/caif/caif_socket.h
index d9cb19b..3f3bac6 100644
--- a/include/linux/caif/caif_socket.h
+++ b/include/linux/caif/caif_socket.h
@@ -9,12 +9,7 @@
#define _LINUX_CAIF_SOCKET_H
#include <linux/types.h>
-
-#ifdef __KERNEL__
#include <linux/socket.h>
-#else
-#include <sys/socket.h>
-#endif
/**
* enum caif_link_selector - Physical Link Selection.
@@ -144,7 +139,7 @@ enum caif_debug_service {
* CAIF Channel. It defines the service to connect to on the modem.
*/
struct sockaddr_caif {
- sa_family_t family;
+ __kernel_sa_family_t family;
union {
struct {
__u8 type; /* type: enum caif_at_type */
diff --git a/include/linux/can.h b/include/linux/can.h
index d183333..bb047dc 100644
--- a/include/linux/can.h
+++ b/include/linux/can.h
@@ -78,7 +78,7 @@ struct can_frame {
* @can_addr: protocol specific address information
*/
struct sockaddr_can {
- sa_family_t can_family;
+ __kernel_sa_family_t can_family;
int can_ifindex;
union {
/* transport protocol class address information (e.g. ISOTP) */
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h
index 60e5558..b5f927f 100644
--- a/include/linux/if_pppox.h
+++ b/include/linux/if_pppox.h
@@ -20,6 +20,7 @@
#include <linux/types.h>
#include <asm/byteorder.h>
+#include <linux/socket.h>
#include <linux/if_ether.h>
#ifdef __KERNEL__
#include <linux/if.h>
@@ -63,7 +64,7 @@ struct pptp_addr {
#define PX_MAX_PROTO 3
struct sockaddr_pppox {
- sa_family_t sa_family; /* address family, AF_PPPOX */
+ __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
unsigned int sa_protocol; /* protocol identifier */
union {
struct pppoe_addr pppoe;
@@ -77,7 +78,7 @@ struct sockaddr_pppox {
* type instead.
*/
struct sockaddr_pppol2tp {
- sa_family_t sa_family; /* address family, AF_PPPOX */
+ __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
unsigned int sa_protocol; /* protocol identifier */
struct pppol2tp_addr pppol2tp;
} __attribute__((packed));
@@ -86,7 +87,7 @@ struct sockaddr_pppol2tp {
* bits. So we need a different sockaddr structure.
*/
struct sockaddr_pppol2tpv3 {
- sa_family_t sa_family; /* address family, AF_PPPOX */
+ __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
unsigned int sa_protocol; /* protocol identifier */
struct pppol2tpv3_addr pppol2tp;
} __attribute__((packed));
diff --git a/include/linux/in.h b/include/linux/in.h
index beeb6de..01129c0 100644
--- a/include/linux/in.h
+++ b/include/linux/in.h
@@ -182,7 +182,7 @@ struct in_pktinfo {
/* Structure describing an Internet (IP) socket address. */
#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
struct sockaddr_in {
- sa_family_t sin_family; /* Address family */
+ __kernel_sa_family_t sin_family; /* Address family */
__be16 sin_port; /* Port number */
struct in_addr sin_addr; /* Internet address */
diff --git a/include/linux/ipx.h b/include/linux/ipx.h
index aabb1d2..3d48014 100644
--- a/include/linux/ipx.h
+++ b/include/linux/ipx.h
@@ -7,7 +7,7 @@
#define IPX_MTU 576
struct sockaddr_ipx {
- sa_family_t sipx_family;
+ __kernel_sa_family_t sipx_family;
__be16 sipx_port;
__be32 sipx_network;
unsigned char sipx_node[IPX_NODE_LEN];
diff --git a/include/linux/irda.h b/include/linux/irda.h
index 00bdad0..a014c32 100644
--- a/include/linux/irda.h
+++ b/include/linux/irda.h
@@ -26,12 +26,9 @@
#define KERNEL_IRDA_H
#include <linux/types.h>
+#include <linux/socket.h>
-/* Please do *not* add any #include in this file, this file is
- * included as-is in user space.
- * Please fix the calling file to properly included needed files before
- * this one, or preferably to include <net/irda/irda.h> instead.
- * Jean II */
+/* Note that this file is shared with user space. */
/* Hint bit positions for first hint byte */
#define HINT_PNP 0x01
@@ -125,7 +122,7 @@ enum {
#define LSAP_ANY 0xff
struct sockaddr_irda {
- sa_family_t sir_family; /* AF_IRDA */
+ __kernel_sa_family_t sir_family; /* AF_IRDA */
__u8 sir_lsap_sel; /* LSAP selector */
__u32 sir_addr; /* Device address */
char sir_name[25]; /* Usually <service>:IrDA:TinyTP */
diff --git a/include/linux/l2tp.h b/include/linux/l2tp.h
index 4bdb31d..e77d7f9 100644
--- a/include/linux/l2tp.h
+++ b/include/linux/l2tp.h
@@ -8,8 +8,8 @@
#define _LINUX_L2TP_H_
#include <linux/types.h>
-#ifdef __KERNEL__
#include <linux/socket.h>
+#ifdef __KERNEL__
#include <linux/in.h>
#else
#include <netinet/in.h>
@@ -26,14 +26,15 @@
#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
struct sockaddr_l2tpip {
/* The first fields must match struct sockaddr_in */
- sa_family_t l2tp_family; /* AF_INET */
+ __kernel_sa_family_t l2tp_family; /* AF_INET */
__be16 l2tp_unused; /* INET port number (unused) */
struct in_addr l2tp_addr; /* Internet address */
__u32 l2tp_conn_id; /* Connection ID of tunnel */
/* Pad to size of `struct sockaddr'. */
- unsigned char __pad[sizeof(struct sockaddr) - sizeof(sa_family_t) -
+ unsigned char __pad[sizeof(struct sockaddr) -
+ sizeof(__kernel_sa_family_t) -
sizeof(__be16) - sizeof(struct in_addr) -
sizeof(__u32)];
};
diff --git a/include/linux/llc.h b/include/linux/llc.h
index ad7074b..a2418ae 100644
--- a/include/linux/llc.h
+++ b/include/linux/llc.h
@@ -12,16 +12,20 @@
*
* See the GNU General Public License for more details.
*/
+
+#include <linux/socket.h>
+
#define __LLC_SOCK_SIZE__ 16 /* sizeof(sockaddr_llc), word align. */
struct sockaddr_llc {
- sa_family_t sllc_family; /* AF_LLC */
- sa_family_t sllc_arphrd; /* ARPHRD_ETHER */
+ __kernel_sa_family_t sllc_family; /* AF_LLC */
+ __kernel_sa_family_t sllc_arphrd; /* ARPHRD_ETHER */
unsigned char sllc_test;
unsigned char sllc_xid;
unsigned char sllc_ua; /* UA data, only for SOCK_STREAM. */
unsigned char sllc_sap;
unsigned char sllc_mac[IFHWADDRLEN];
- unsigned char __pad[__LLC_SOCK_SIZE__ - sizeof(sa_family_t) * 2 -
+ unsigned char __pad[__LLC_SOCK_SIZE__ -
+ sizeof(__kernel_sa_family_t) * 2 -
sizeof(unsigned char) * 4 - IFHWADDRLEN];
};
diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index 180540a..8180cd9 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -1,7 +1,7 @@
#ifndef __LINUX_NETLINK_H
#define __LINUX_NETLINK_H
-#include <linux/socket.h> /* for sa_family_t */
+#include <linux/socket.h> /* for __kernel_sa_family_t */
#include <linux/types.h>
#define NETLINK_ROUTE 0 /* Routing/device hook */
diff --git a/include/linux/phonet.h b/include/linux/phonet.h
index 6fb1384..f53a416 100644
--- a/include/linux/phonet.h
+++ b/include/linux/phonet.h
@@ -24,6 +24,7 @@
#define LINUX_PHONET_H
#include <linux/types.h>
+#include <linux/socket.h>
/* Automatic protocol selection */
#define PN_PROTO_TRANSPORT 0
@@ -96,11 +97,11 @@ struct phonetmsg {
/* Phonet socket address structure */
struct sockaddr_pn {
- sa_family_t spn_family;
+ __kernel_sa_family_t spn_family;
__u8 spn_obj;
__u8 spn_dev;
__u8 spn_resource;
- __u8 spn_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - 3];
+ __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3];
} __attribute__((packed));
/* Well known address */
diff --git a/include/linux/rose.h b/include/linux/rose.h
index e8289cd..1fcfe95 100644
--- a/include/linux/rose.h
+++ b/include/linux/rose.h
@@ -7,6 +7,7 @@
#ifndef ROSE_KERNEL_H
#define ROSE_KERNEL_H
+#include <linux/socket.h>
#include <linux/ax25.h>
#define ROSE_MTU 251
@@ -46,7 +47,7 @@ typedef struct {
} rose_address;
struct sockaddr_rose {
- sa_family_t srose_family;
+ __kernel_sa_family_t srose_family;
rose_address srose_addr;
ax25_address srose_call;
int srose_ndigis;
@@ -54,7 +55,7 @@ struct sockaddr_rose {
};
struct full_sockaddr_rose {
- sa_family_t srose_family;
+ __kernel_sa_family_t srose_family;
rose_address srose_addr;
ax25_address srose_call;
unsigned int srose_ndigis;
diff --git a/include/linux/un.h b/include/linux/un.h
index 45561c5..3ed3e46 100644
--- a/include/linux/un.h
+++ b/include/linux/un.h
@@ -1,10 +1,12 @@
#ifndef _LINUX_UN_H
#define _LINUX_UN_H
+#include <linux/socket.h>
+
#define UNIX_PATH_MAX 108
struct sockaddr_un {
- sa_family_t sun_family; /* AF_UNIX */
+ __kernel_sa_family_t sun_family; /* AF_UNIX */
char sun_path[UNIX_PATH_MAX]; /* pathname */
};
diff --git a/include/linux/x25.h b/include/linux/x25.h
index 6450a7f..810cce6 100644
--- a/include/linux/x25.h
+++ b/include/linux/x25.h
@@ -12,6 +12,7 @@
#define X25_KERNEL_H
#include <linux/types.h>
+#include <linux/socket.h>
#define SIOCX25GSUBSCRIP (SIOCPROTOPRIVATE + 0)
#define SIOCX25SSUBSCRIP (SIOCPROTOPRIVATE + 1)
@@ -57,7 +58,7 @@ struct x25_address {
* Linux X.25 Address structure, used for bind, and connect mostly.
*/
struct sockaddr_x25 {
- sa_family_t sx25_family; /* Must be AF_X25 */
+ __kernel_sa_family_t sx25_family; /* Must be AF_X25 */
struct x25_address sx25_addr; /* X.121 Address */
};
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (3 preceding siblings ...)
2011-08-25 4:43 ` [PATCH net-next v2 04/10] headers, net: Use __kernel_sa_family_t in more definitions shared with userland Ben Hutchings
@ 2011-08-25 4:44 ` Ben Hutchings
2011-08-26 15:08 ` David Miller
2011-08-25 4:44 ` [PATCH net-next v2 06/10] headers, netfilter: Use kernel type names __u8, __u16, __u32 Ben Hutchings
` (5 subsequent siblings)
10 siblings, 1 reply; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:44 UTC (permalink / raw)
To: David Miller; +Cc: netdev
[-- Attachment #1: Type: text/plain, Size: 3210 bytes --]
Commit 9c501935a3cdcf6b1d35aaee3aa11c7a7051a305 ('net: Support
inclusion of <linux/socket.h> before <sys/socket.h>') removed the
definition of struct sockaddr for userland.
But we still have several headers using struct sockaddr, and we
shouldn't make them include <sys/socket.h> as that risks recursive
inclusion in future. Define and use an identical struct
__kernel_sockaddr instead.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/linux/if.h | 12 ++++++------
include/linux/phonet.h | 3 ++-
include/linux/socket.h | 17 +++++++++--------
3 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/include/linux/if.h b/include/linux/if.h
index db20bd4..f9ce5fb 100644
--- a/include/linux/if.h
+++ b/include/linux/if.h
@@ -20,7 +20,7 @@
#define _LINUX_IF_H
#include <linux/types.h> /* for "__kernel_caddr_t" et al */
-#include <linux/socket.h> /* for "struct sockaddr" et al */
+#include <linux/socket.h> /* for "struct __kernel_sockaddr" et al */
#include <linux/compiler.h> /* for "__user" et al */
#define IFNAMSIZ 16
@@ -176,11 +176,11 @@ struct ifreq {
} ifr_ifrn;
union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
+ struct __kernel_sockaddr ifru_addr;
+ struct __kernel_sockaddr ifru_dstaddr;
+ struct __kernel_sockaddr ifru_broadaddr;
+ struct __kernel_sockaddr ifru_netmask;
+ struct __kernel_sockaddr ifru_hwaddr;
short ifru_flags;
int ifru_ivalue;
int ifru_mtu;
diff --git a/include/linux/phonet.h b/include/linux/phonet.h
index f53a416..9aba9ce 100644
--- a/include/linux/phonet.h
+++ b/include/linux/phonet.h
@@ -101,7 +101,8 @@ struct sockaddr_pn {
__u8 spn_obj;
__u8 spn_dev;
__u8 spn_resource;
- __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3];
+ __u8 spn_zero[sizeof(struct __kernel_sockaddr) -
+ sizeof(__kernel_sa_family_t) - 3];
} __attribute__((packed));
/* Well known address */
diff --git a/include/linux/socket.h b/include/linux/socket.h
index d0e77f6..f13ad7b 100644
--- a/include/linux/socket.h
+++ b/include/linux/socket.h
@@ -10,6 +10,14 @@
typedef unsigned short __kernel_sa_family_t;
+/*
+ * 1003.1g requires sa_family_t and that sa_data is char.
+ */
+struct __kernel_sockaddr {
+ __kernel_sa_family_t sa_family; /* address family, AF_xxx */
+ char sa_data[14]; /* 14 bytes of protocol address */
+};
+
struct __kernel_sockaddr_storage {
__kernel_sa_family_t ss_family; /* address family */
/* Following field(s) are implementation specific */
@@ -39,15 +47,8 @@ extern void socket_seq_show(struct seq_file *seq);
typedef __kernel_sa_family_t sa_family_t;
-/*
- * 1003.1g requires sa_family_t and that sa_data is char.
- */
+#define sockaddr __kernel_sockaddr
-struct sockaddr {
- sa_family_t sa_family; /* address family, AF_xxx */
- char sa_data[14]; /* 14 bytes of protocol address */
-};
-
struct linger {
int l_onoff; /* Linger active */
int l_linger; /* How long to linger for */
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-25 4:44 ` [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr Ben Hutchings
@ 2011-08-26 15:08 ` David Miller
2011-08-26 15:42 ` Ben Hutchings
0 siblings, 1 reply; 17+ messages in thread
From: David Miller @ 2011-08-26 15:08 UTC (permalink / raw)
To: ben; +Cc: netdev
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 25 Aug 2011 05:44:15 +0100
> Commit 9c501935a3cdcf6b1d35aaee3aa11c7a7051a305 ('net: Support
> inclusion of <linux/socket.h> before <sys/socket.h>') removed the
> definition of struct sockaddr for userland.
>
> But we still have several headers using struct sockaddr, and we
> shouldn't make them include <sys/socket.h> as that risks recursive
> inclusion in future. Define and use an identical struct
> __kernel_sockaddr instead.
>
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
...
>
> -/*
> - * 1003.1g requires sa_family_t and that sa_data is char.
> - */
> +#define sockaddr __kernel_sockaddr
This cure is worse than the disease.
Now any application that includes sys/socket.h one way or another is
now going to get a real hard build failure since __kernel_sockaddr
will effectively get redefined.
There is no reason sys/socket.h and our headers cannot co-exist and
this is the whole reason we're going through all of this pain to use
the __kernel_foo types in our networking datastructures which are
exposed to userspace.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-26 15:08 ` David Miller
@ 2011-08-26 15:42 ` Ben Hutchings
2011-08-26 16:04 ` David Miller
0 siblings, 1 reply; 17+ messages in thread
From: Ben Hutchings @ 2011-08-26 15:42 UTC (permalink / raw)
To: David Miller; +Cc: netdev
On Fri, Aug 26, 2011 at 11:08:20AM -0400, David Miller wrote:
> From: Ben Hutchings <ben@decadent.org.uk>
> Date: Thu, 25 Aug 2011 05:44:15 +0100
>
> > Commit 9c501935a3cdcf6b1d35aaee3aa11c7a7051a305 ('net: Support
> > inclusion of <linux/socket.h> before <sys/socket.h>') removed the
> > definition of struct sockaddr for userland.
> >
> > But we still have several headers using struct sockaddr, and we
> > shouldn't make them include <sys/socket.h> as that risks recursive
> > inclusion in future. Define and use an identical struct
> > __kernel_sockaddr instead.
> >
> > Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> ...
> >
> > -/*
> > - * 1003.1g requires sa_family_t and that sa_data is char.
> > - */
> > +#define sockaddr __kernel_sockaddr
>
> This cure is worse than the disease.
>
> Now any application that includes sys/socket.h one way or another is
> now going to get a real hard build failure since __kernel_sockaddr
> will effectively get redefined.
[...]
This #define is in the #ifdef __KERNEL__ section. I don't want t
change all the in-kernel users to say __kernel_sockaddr. This is
just the same as the preceding 'typedef __kernel_sa_family_t
sa_family_t' except that you can't create struct aliases that way.
Ben.
--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-26 15:42 ` Ben Hutchings
@ 2011-08-26 16:04 ` David Miller
2011-08-26 16:20 ` David Miller
0 siblings, 1 reply; 17+ messages in thread
From: David Miller @ 2011-08-26 16:04 UTC (permalink / raw)
To: ben; +Cc: netdev
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 26 Aug 2011 16:42:48 +0100
> This #define is in the #ifdef __KERNEL__ section. I don't want t
> change all the in-kernel users to say __kernel_sockaddr. This is
> just the same as the preceding 'typedef __kernel_sa_family_t
> sa_family_t' except that you can't create struct aliases that way.
Aha, I didn't catch that part. Then this is fine, thanks for
explaining Ben.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-26 16:04 ` David Miller
@ 2011-08-26 16:20 ` David Miller
2011-08-28 16:22 ` Ben Hutchings
0 siblings, 1 reply; 17+ messages in thread
From: David Miller @ 2011-08-26 16:20 UTC (permalink / raw)
To: ben; +Cc: netdev
From: David Miller <davem@davemloft.net>
Date: Fri, 26 Aug 2011 12:04:51 -0400 (EDT)
> From: Ben Hutchings <ben@decadent.org.uk>
> Date: Fri, 26 Aug 2011 16:42:48 +0100
>
>> This #define is in the #ifdef __KERNEL__ section. I don't want t
>> change all the in-kernel users to say __kernel_sockaddr. This is
>> just the same as the preceding 'typedef __kernel_sa_family_t
>> sa_family_t' except that you can't create struct aliases that way.
>
> Aha, I didn't catch that part. Then this is fine, thanks for
> explaining Ben.
Actually, this patch breaks the build, specifically of ifenslave.c
I'll leave the other patches in, but you'll need to respin this one.
Documentation/networking/ifenslave.c: In function ‘if_getconfig’:
Documentation/networking/ifenslave.c:553:11: error: incompatible types when assigning to type ‘struct sockaddr’ from type ‘struct __kernel_sockaddr’
Documentation/networking/ifenslave.c:559:13: error: incompatible types when assigning to type ‘struct sockaddr’ from type ‘struct __kernel_sockaddr’
Documentation/networking/ifenslave.c:565:11: error: incompatible types when assigning to type ‘struct sockaddr’ from type ‘struct __kernel_sockaddr’
Documentation/networking/ifenslave.c: In function ‘enslave’:
Documentation/networking/ifenslave.c:727:13: warning: passing argument 2 of ‘set_slave_hwaddr’ from incompatible pointer type
Documentation/networking/ifenslave.c:230:12: note: expected ‘struct sockaddr *’ but argument is of type ‘struct __kernel_sockaddr *’
Documentation/networking/ifenslave.c:772:6: warning: passing argument 2 of ‘set_master_hwaddr’ from incompatible pointer type
Documentation/networking/ifenslave.c:229:12: note: expected ‘struct sockaddr *’ but argument is of type ‘struct __kernel_sockaddr *’
Documentation/networking/ifenslave.c:817:2: warning: passing argument 2 of ‘set_master_hwaddr’ from incompatible pointer type
Documentation/networking/ifenslave.c:229:12: note: expected ‘struct sockaddr *’ but argument is of type ‘struct __kernel_sockaddr *’
Documentation/networking/ifenslave.c:821:2: warning: passing argument 2 of ‘set_slave_hwaddr’ from incompatible pointer type
Documentation/networking/ifenslave.c:230:12: note: expected ‘struct sockaddr *’ but argument is of type ‘struct __kernel_sockaddr *’
make[2]: *** [Documentation/networking/ifenslave] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Documentation/networking] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [vmlinux] Error 2
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr
2011-08-26 16:20 ` David Miller
@ 2011-08-28 16:22 ` Ben Hutchings
0 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-28 16:22 UTC (permalink / raw)
To: David Miller; +Cc: netdev
[-- Attachment #1: Type: text/plain, Size: 912 bytes --]
On Fri, 2011-08-26 at 12:20 -0400, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Fri, 26 Aug 2011 12:04:51 -0400 (EDT)
>
> > From: Ben Hutchings <ben@decadent.org.uk>
> > Date: Fri, 26 Aug 2011 16:42:48 +0100
> >
> >> This #define is in the #ifdef __KERNEL__ section. I don't want t
> >> change all the in-kernel users to say __kernel_sockaddr. This is
> >> just the same as the preceding 'typedef __kernel_sa_family_t
> >> sa_family_t' except that you can't create struct aliases that way.
> >
> > Aha, I didn't catch that part. Then this is fine, thanks for
> > explaining Ben.
>
> Actually, this patch breaks the build, specifically of ifenslave.c
>
> I'll leave the other patches in, but you'll need to respin this one.
[...]
Right, it looks like this will have to wait for a proper resolution of
the conflicts between kernel and libc types.
Ben.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH net-next v2 06/10] headers, netfilter: Use kernel type names __u8, __u16, __u32
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (4 preceding siblings ...)
2011-08-25 4:44 ` [PATCH net-next v2 05/10] headers, net: Define struct __kernel_sockaddr, replacing struct sockaddr Ben Hutchings
@ 2011-08-25 4:44 ` Ben Hutchings
2011-08-25 4:45 ` [PATCH net-next v2 07/10] headers, tipc: Add missing #include to <linux/tipc_config.h> for userland Ben Hutchings
` (4 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:44 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Patrick McHardy, netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 5343 bytes --]
These types are guaranteed to be defined by <linux/types.h> for
both userland and kernel, unlike u_intN_t.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
---
include/linux/netfilter_arp/arp_tables.h | 14 +++++++-------
include/linux/netfilter_ipv4/ip_tables.h | 20 ++++++++++----------
include/linux/netfilter_ipv6/ip6_tables.h | 22 +++++++++++-----------
3 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h
index adbf4bf..e08565d 100644
--- a/include/linux/netfilter_arp/arp_tables.h
+++ b/include/linux/netfilter_arp/arp_tables.h
@@ -52,7 +52,7 @@ struct arpt_arp {
struct in_addr smsk, tmsk;
/* Device hw address length, src+target device addresses */
- u_int8_t arhln, arhln_mask;
+ __u8 arhln, arhln_mask;
struct arpt_devaddr_info src_devaddr;
struct arpt_devaddr_info tgt_devaddr;
@@ -71,9 +71,9 @@ struct arpt_arp {
unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
/* Flags word */
- u_int8_t flags;
+ __u8 flags;
/* Inverse flags */
- u_int16_t invflags;
+ __u16 invflags;
};
/* Values for "flag" field in struct arpt_ip (general arp structure).
@@ -102,9 +102,9 @@ struct arpt_entry
struct arpt_arp arp;
/* Size of arpt_entry + matches */
- u_int16_t target_offset;
+ __u16 target_offset;
/* Size of arpt_entry + matches + target */
- u_int16_t next_offset;
+ __u16 next_offset;
/* Back pointer */
unsigned int comefrom;
@@ -260,8 +260,8 @@ extern unsigned int arpt_do_table(struct sk_buff *skb,
struct compat_arpt_entry {
struct arpt_arp arp;
- u_int16_t target_offset;
- u_int16_t next_offset;
+ __u16 target_offset;
+ __u16 next_offset;
compat_uint_t comefrom;
struct compat_xt_counters counters;
unsigned char elems[0];
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h
index 64a5d95..db79231 100644
--- a/include/linux/netfilter_ipv4/ip_tables.h
+++ b/include/linux/netfilter_ipv4/ip_tables.h
@@ -81,12 +81,12 @@ struct ipt_ip {
unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
/* Protocol, 0 = ANY */
- u_int16_t proto;
+ __u16 proto;
/* Flags word */
- u_int8_t flags;
+ __u8 flags;
/* Inverse flags */
- u_int8_t invflags;
+ __u8 invflags;
};
/* Values for "flag" field in struct ipt_ip (general ip structure). */
@@ -114,9 +114,9 @@ struct ipt_entry {
unsigned int nfcache;
/* Size of ipt_entry + matches */
- u_int16_t target_offset;
+ __u16 target_offset;
/* Size of ipt_entry + matches + target */
- u_int16_t next_offset;
+ __u16 next_offset;
/* Back pointer */
unsigned int comefrom;
@@ -149,9 +149,9 @@ struct ipt_entry {
/* ICMP matching stuff */
struct ipt_icmp {
- u_int8_t type; /* type to match */
- u_int8_t code[2]; /* range of code */
- u_int8_t invflags; /* Inverse flags */
+ __u8 type; /* type to match */
+ __u8 code[2]; /* range of code */
+ __u8 invflags; /* Inverse flags */
};
/* Values for "inv" field for struct ipt_icmp. */
@@ -288,8 +288,8 @@ extern unsigned int ipt_do_table(struct sk_buff *skb,
struct compat_ipt_entry {
struct ipt_ip ip;
compat_uint_t nfcache;
- u_int16_t target_offset;
- u_int16_t next_offset;
+ __u16 target_offset;
+ __u16 next_offset;
compat_uint_t comefrom;
struct compat_xt_counters counters;
unsigned char elems[0];
diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h
index c9784f7..f549adc 100644
--- a/include/linux/netfilter_ipv6/ip6_tables.h
+++ b/include/linux/netfilter_ipv6/ip6_tables.h
@@ -81,14 +81,14 @@ struct ip6t_ip6 {
* MH do not match any packets.
* - You also need to set IP6T_FLAGS_PROTO to "flags" to check protocol.
*/
- u_int16_t proto;
+ __u16 proto;
/* TOS to match iff flags & IP6T_F_TOS */
- u_int8_t tos;
+ __u8 tos;
/* Flags word */
- u_int8_t flags;
+ __u8 flags;
/* Inverse flags */
- u_int8_t invflags;
+ __u8 invflags;
};
/* Values for "flag" field in struct ip6t_ip6 (general ip6 structure). */
@@ -118,9 +118,9 @@ struct ip6t_entry {
unsigned int nfcache;
/* Size of ipt_entry + matches */
- u_int16_t target_offset;
+ __u16 target_offset;
/* Size of ipt_entry + matches + target */
- u_int16_t next_offset;
+ __u16 next_offset;
/* Back pointer */
unsigned int comefrom;
@@ -186,9 +186,9 @@ struct ip6t_error {
/* ICMP matching stuff */
struct ip6t_icmp {
- u_int8_t type; /* type to match */
- u_int8_t code[2]; /* range of code */
- u_int8_t invflags; /* Inverse flags */
+ __u8 type; /* type to match */
+ __u8 code[2]; /* range of code */
+ __u8 invflags; /* Inverse flags */
};
/* Values for "inv" field for struct ipt_icmp. */
@@ -298,8 +298,8 @@ extern int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
struct compat_ip6t_entry {
struct ip6t_ip6 ipv6;
compat_uint_t nfcache;
- u_int16_t target_offset;
- u_int16_t next_offset;
+ __u16 target_offset;
+ __u16 next_offset;
compat_uint_t comefrom;
struct compat_xt_counters counters;
unsigned char elems[0];
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 07/10] headers, tipc: Add missing #include to <linux/tipc_config.h> for userland
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (5 preceding siblings ...)
2011-08-25 4:44 ` [PATCH net-next v2 06/10] headers, netfilter: Use kernel type names __u8, __u16, __u32 Ben Hutchings
@ 2011-08-25 4:45 ` Ben Hutchings
2011-08-25 4:45 ` [PATCH net-next v2 08/10] headers, netfilter: Add missing #include <limits.h> " Ben Hutchings
` (3 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:45 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Jon Maloy, Allan Stephens, tipc-discussion
[-- Attachment #1: Type: text/plain, Size: 652 bytes --]
<linux/tipc_config.h> defines inline functions using ntohs() etc.
For userland these are defined in <arpa/inet.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
include/linux/tipc_config.h | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/include/linux/tipc_config.h b/include/linux/tipc_config.h
index 0db2395..9730b0e 100644
--- a/include/linux/tipc_config.h
+++ b/include/linux/tipc_config.h
@@ -41,6 +41,10 @@
#include <linux/string.h>
#include <asm/byteorder.h>
+#ifndef __KERNEL__
+#include <arpa/inet.h> /* for ntohs etc. */
+#endif
+
/*
* Configuration
*
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 08/10] headers, netfilter: Add missing #include <limits.h> for userland
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (6 preceding siblings ...)
2011-08-25 4:45 ` [PATCH net-next v2 07/10] headers, tipc: Add missing #include to <linux/tipc_config.h> for userland Ben Hutchings
@ 2011-08-25 4:45 ` Ben Hutchings
2011-08-25 4:45 ` [PATCH net-next v2 09/10] headers, xtables: Add missing #include <linux/netfilter.h> Ben Hutchings
` (2 subsequent siblings)
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:45 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Patrick McHardy, netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 1623 bytes --]
Various headers use INT_MIN and INT_MAX, which are defined for
userland in <limits.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
---
include/linux/netfilter_decnet.h | 3 +++
include/linux/netfilter_ipv4.h | 3 +++
include/linux/netfilter_ipv6.h | 3 +++
3 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/include/linux/netfilter_decnet.h b/include/linux/netfilter_decnet.h
index 6f42536..0b09732 100644
--- a/include/linux/netfilter_decnet.h
+++ b/include/linux/netfilter_decnet.h
@@ -11,6 +11,9 @@
/* only for userspace compatibility */
#ifndef __KERNEL__
+
+#include <limits.h> /* for INT_MIN, INT_MAX */
+
/* IP Cache bits. */
/* Src IP address. */
#define NFC_DN_SRC 0x0001
diff --git a/include/linux/netfilter_ipv4.h b/include/linux/netfilter_ipv4.h
index 29c7727..fa0946c 100644
--- a/include/linux/netfilter_ipv4.h
+++ b/include/linux/netfilter_ipv4.h
@@ -9,6 +9,9 @@
/* only for userspace compatibility */
#ifndef __KERNEL__
+
+#include <limits.h> /* for INT_MIN, INT_MAX */
+
/* IP Cache bits. */
/* Src IP address. */
#define NFC_IP_SRC 0x0001
diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h
index 1f7e300..57c0251 100644
--- a/include/linux/netfilter_ipv6.h
+++ b/include/linux/netfilter_ipv6.h
@@ -12,6 +12,9 @@
/* only for userspace compatibility */
#ifndef __KERNEL__
+
+#include <limits.h> /* for INT_MIN, INT_MAX */
+
/* IP Cache bits. */
/* Src IP address. */
#define NFC_IP6_SRC 0x0001
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 09/10] headers, xtables: Add missing #include <linux/netfilter.h>
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (7 preceding siblings ...)
2011-08-25 4:45 ` [PATCH net-next v2 08/10] headers, netfilter: Add missing #include <limits.h> " Ben Hutchings
@ 2011-08-25 4:45 ` Ben Hutchings
2011-08-25 4:46 ` [PATCH net-next v2 10/10] headers, can: Add missing #include to <linux/can/bcm.h> Ben Hutchings
2011-08-26 16:09 ` [PATCH net-next v2 00/10] Fix net header dependencies David Miller
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:45 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Patrick McHardy, netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 1612 bytes --]
Various headers use union nf_inet_addr, defined in <linux/netfilter.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Patrick McHardy <kaber@trash.net>
---
include/linux/netfilter/xt_connlimit.h | 1 +
include/linux/netfilter/xt_conntrack.h | 1 +
include/linux/netfilter/xt_iprange.h | 1 +
3 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/include/linux/netfilter/xt_connlimit.h b/include/linux/netfilter/xt_connlimit.h
index 0ca66e9..d1366f0 100644
--- a/include/linux/netfilter/xt_connlimit.h
+++ b/include/linux/netfilter/xt_connlimit.h
@@ -2,6 +2,7 @@
#define _XT_CONNLIMIT_H
#include <linux/types.h>
+#include <linux/netfilter.h>
struct xt_connlimit_data;
diff --git a/include/linux/netfilter/xt_conntrack.h b/include/linux/netfilter/xt_conntrack.h
index 74b904d..e3c041d 100644
--- a/include/linux/netfilter/xt_conntrack.h
+++ b/include/linux/netfilter/xt_conntrack.h
@@ -6,6 +6,7 @@
#define _XT_CONNTRACK_H
#include <linux/types.h>
+#include <linux/netfilter.h>
#include <linux/netfilter/nf_conntrack_tuple_common.h>
#define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1))
diff --git a/include/linux/netfilter/xt_iprange.h b/include/linux/netfilter/xt_iprange.h
index c1f21a7..25fd7cf 100644
--- a/include/linux/netfilter/xt_iprange.h
+++ b/include/linux/netfilter/xt_iprange.h
@@ -2,6 +2,7 @@
#define _LINUX_NETFILTER_XT_IPRANGE_H 1
#include <linux/types.h>
+#include <linux/netfilter.h>
enum {
IPRANGE_SRC = 1 << 0, /* match source IP address */
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH net-next v2 10/10] headers, can: Add missing #include to <linux/can/bcm.h>
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (8 preceding siblings ...)
2011-08-25 4:45 ` [PATCH net-next v2 09/10] headers, xtables: Add missing #include <linux/netfilter.h> Ben Hutchings
@ 2011-08-25 4:46 ` Ben Hutchings
2011-08-26 16:09 ` [PATCH net-next v2 00/10] Fix net header dependencies David Miller
10 siblings, 0 replies; 17+ messages in thread
From: Ben Hutchings @ 2011-08-25 4:46 UTC (permalink / raw)
To: David Miller; +Cc: netdev, Oliver Hartkopp, Urs Thuermann
[-- Attachment #1: Type: text/plain, Size: 615 bytes --]
<linux/can/bcm.h> uses type canid_t, defined in <linux/can.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
---
include/linux/can/bcm.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/linux/can/bcm.h b/include/linux/can/bcm.h
index 1432b27..e96154d 100644
--- a/include/linux/can/bcm.h
+++ b/include/linux/can/bcm.h
@@ -15,6 +15,7 @@
#define CAN_BCM_H
#include <linux/types.h>
+#include <linux/can.h>
/**
* struct bcm_msg_head - head of messages to/from the broadcast manager
--
1.7.5.4
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH net-next v2 00/10] Fix net header dependencies
2011-08-25 4:38 [PATCH net-next v2 00/10] Fix net header dependencies Ben Hutchings
` (9 preceding siblings ...)
2011-08-25 4:46 ` [PATCH net-next v2 10/10] headers, can: Add missing #include to <linux/can/bcm.h> Ben Hutchings
@ 2011-08-26 16:09 ` David Miller
10 siblings, 0 replies; 17+ messages in thread
From: David Miller @ 2011-08-26 16:09 UTC (permalink / raw)
To: ben; +Cc: netdev
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 25 Aug 2011 05:38:44 +0100
> 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.
>
> Since v1, I've dropped the patches to <linux/scc.h> and <linux/if_ppp.h>
> and added the acknowledgements I got last time.
All applied, thanks!
^ permalink raw reply [flat|nested] 17+ messages in thread