[oe-commits] : include sys/types.h in netfilter headers exported to userspace.

OE GIT Trial gittrial at amethyst.openembedded.net
Tue Aug 5 17:17:01 UTC 2008


Module: OE.dev
Branch: master
Commit: c4d8cd7658593b422a04a13e64bbae16c02660dd
URL:    http://gitweb.openembedded.net//OE.dev.git/?a=commit;h=c4d8cd7658593b422a04a13e64bbae16c02660dd

Author:  <khem at openembedded.org>
Date:   Tue Aug  5 16:08:07 2008 +0000

include sys/types.h in netfilter headers exported to userspace.
When using 2.6.25 kernel headers iptables fails to compile like below
/scratch/oe/build/eglibc/tmp-omap5912osk/staging/arm-angstrom-linux-gnueabi/usr/include/linux/netfilter.h:40: error: expected specifier-qualifier-list before '__u32'
This patch includes sys/types.h in userspace netfilter headers so __u32 definition is resolved.

---

 .../netfilter-include-types_h-in-userspace.patch   |   88 ++++++++++++++++++++
 .../linux-libc-headers_2.6.25.bb                   |    3 +-
 2 files changed, 90 insertions(+), 1 deletions(-)

diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.25/netfilter-include-types_h-in-userspace.patch b/packages/linux-libc-headers/linux-libc-headers-2.6.25/netfilter-include-types_h-in-userspace.patch
new file mode 100644
index 0000000..79eb170
--- /dev/null
+++ b/packages/linux-libc-headers/linux-libc-headers-2.6.25/netfilter-include-types_h-in-userspace.patch
@@ -0,0 +1,88 @@
+commit c8942f1f0a7e2160ebf2e51ba89e50ee5895a1e7
+Author: Patrick McHardy <kaber at trash.net>
+Date:   Wed May 21 14:08:38 2008 -0700
+
+    netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
+    
+    Greg Steuck <greg at nest.cx> points out that some of the netfilter
+    headers can't be used in userspace without including linux/types.h
+    first. The headers include their own linux/types.h include statements,
+    these are stripped by make headers-install because they are inside
+    #ifdef __KERNEL__ however. Move them out to fix this.
+    
+    Reported and Tested by Greg Steuck.
+    
+    Signed-off-by: Patrick McHardy <kaber at trash.net>
+    Signed-off-by: David S. Miller <davem at davemloft.net>
+
+diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
+index e4c6659..0c5eb7e 100644
+--- a/include/linux/netfilter.h
++++ b/include/linux/netfilter.h
+@@ -3,7 +3,6 @@
+ 
+ #ifdef __KERNEL__
+ #include <linux/init.h>
+-#include <linux/types.h>
+ #include <linux/skbuff.h>
+ #include <linux/net.h>
+ #include <linux/netdevice.h>
+@@ -14,6 +13,7 @@
+ #include <linux/list.h>
+ #include <net/net_namespace.h>
+ #endif
++#include <linux/types.h>
+ #include <linux/compiler.h>
+ 
+ /* Responses from hook functions. */
+diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h
+index dd9c97f..590ac3d 100644
+--- a/include/linux/netfilter_arp/arp_tables.h
++++ b/include/linux/netfilter_arp/arp_tables.h
+@@ -11,11 +11,11 @@
+ 
+ #ifdef __KERNEL__
+ #include <linux/if.h>
+-#include <linux/types.h>
+ #include <linux/in.h>
+ #include <linux/if_arp.h>
+ #include <linux/skbuff.h>
+ #endif
++#include <linux/types.h>
+ #include <linux/compiler.h>
+ #include <linux/netfilter_arp.h>
+ 
+diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h
+index bfc889f..092bd50 100644
+--- a/include/linux/netfilter_ipv4/ip_tables.h
++++ b/include/linux/netfilter_ipv4/ip_tables.h
+@@ -17,11 +17,11 @@
+ 
+ #ifdef __KERNEL__
+ #include <linux/if.h>
+-#include <linux/types.h>
+ #include <linux/in.h>
+ #include <linux/ip.h>
+ #include <linux/skbuff.h>
+ #endif
++#include <linux/types.h>
+ #include <linux/compiler.h>
+ #include <linux/netfilter_ipv4.h>
+ 
+diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h
+index f2507dc..1089e33 100644
+--- a/include/linux/netfilter_ipv6/ip6_tables.h
++++ b/include/linux/netfilter_ipv6/ip6_tables.h
+@@ -17,11 +17,11 @@
+ 
+ #ifdef __KERNEL__
+ #include <linux/if.h>
+-#include <linux/types.h>
+ #include <linux/in6.h>
+ #include <linux/ipv6.h>
+ #include <linux/skbuff.h>
+ #endif
++#include <linux/types.h>
+ #include <linux/compiler.h>
+ #include <linux/netfilter_ipv6.h>
+ 
diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb
index f47fd08..0d41636 100644
--- a/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb
+++ b/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb
@@ -2,11 +2,12 @@ require linux-libc-headers.inc
 
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS += "unifdef-native"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
 	   file://reinstate-a.out.h.patch;patch=1 \
 	   file://fix-kernel-conditionalize-a.out.h.patch;patch=1 \
+	   file://netfilter-include-types_h-in-userspace.patch;patch=1 \
            file://procinfo.h"
 
 S = "${WORKDIR}/linux-${PV}"





More information about the Openembedded-commits mailing list