net: Fix userland breakage wrt. linux/if_tunnel.h

Reported by Andrew Walrond <andrew@walrond.org>

Changeset c19e654ddb
("gre: Add netlink interface") added an include
of linux/ip.h to linux/if_tunnel.h

We can't really let that get exposed to userspace
because this conflicts with types defined in netinet/ip.h
which userland is almost certainly going to have included
either explicitly or implicitly.

So guard this include with a __KERNEL__ ifdef.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2009-02-02 13:27:44 -08:00
parent f9e6934502
commit 0afd4a21ba
2 changed files with 4 additions and 1 deletions

View file

@ -89,7 +89,6 @@ header-y += if_ppp.h
header-y += if_slip.h header-y += if_slip.h
header-y += if_strip.h header-y += if_strip.h
header-y += if_tun.h header-y += if_tun.h
header-y += if_tunnel.h
header-y += in_route.h header-y += in_route.h
header-y += ioctl.h header-y += ioctl.h
header-y += ip6_tunnel.h header-y += ip6_tunnel.h
@ -235,6 +234,7 @@ unifdef-y += if_phonet.h
unifdef-y += if_pppol2tp.h unifdef-y += if_pppol2tp.h
unifdef-y += if_pppox.h unifdef-y += if_pppox.h
unifdef-y += if_tr.h unifdef-y += if_tr.h
unifdef-y += if_tunnel.h
unifdef-y += if_vlan.h unifdef-y += if_vlan.h
unifdef-y += igmp.h unifdef-y += igmp.h
unifdef-y += inet_diag.h unifdef-y += inet_diag.h

View file

@ -2,7 +2,10 @@
#define _IF_TUNNEL_H_ #define _IF_TUNNEL_H_
#include <linux/types.h> #include <linux/types.h>
#ifdef __KERNEL__
#include <linux/ip.h> #include <linux/ip.h>
#endif
#define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0)
#define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1)