Skip to content

Commit

Permalink
net: Unbreak userspace usage of linux/mroute.h
Browse files Browse the repository at this point in the history
Nothing in linux/pim.h should be exported to userspace.

This should fix the XORP build failure reported by
Jose Calhariz, the debain package maintainer.

Nothing originally in linux/mroute.h was exported to userspace
ever, but some of this stuff started to be when it was moved into
this new linux/pim.h, and that was wrong.  If we didn't provide these
definitions for 10 years we can reasonably expect that applications
defined this stuff locally or used GLIBC headers providing the
protocol definitions.  And as such the only result of this can
be conflict and userland build breakage.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Aug 29, 2008
1 parent 102396a commit 7c19a3d
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 20 deletions.
1 change: 0 additions & 1 deletion include/linux/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ unifdef-y += parport.h
unifdef-y += patchkey.h
unifdef-y += pci.h
unifdef-y += personality.h
unifdef-y += pim.h
unifdef-y += pktcdvd.h
unifdef-y += pmu.h
unifdef-y += poll.h
Expand Down
2 changes: 1 addition & 1 deletion include/linux/mroute.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#ifdef __KERNEL__
#include <linux/in.h>
#endif
#include <linux/pim.h>

/*
* Based on the MROUTING 3.5 defines primarily to keep
Expand Down Expand Up @@ -130,6 +129,7 @@ struct igmpmsg
*/

#ifdef __KERNEL__
#include <linux/pim.h>
#include <net/sock.h>

#ifdef CONFIG_IP_MROUTE
Expand Down
1 change: 1 addition & 0 deletions include/linux/mroute6.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ struct sioc_mif_req6

#ifdef __KERNEL__

#include <linux/pim.h>
#include <linux/skbuff.h> /* for struct sk_buff_head */

#ifdef CONFIG_IPV6_MROUTE
Expand Down
18 changes: 0 additions & 18 deletions include/linux/pim.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,6 @@

#include <asm/byteorder.h>

#ifndef __KERNEL__
struct pim {
#if defined(__LITTLE_ENDIAN_BITFIELD)
__u8 pim_type:4, /* PIM message type */
pim_ver:4; /* PIM version */
#elif defined(__BIG_ENDIAN_BITFIELD)
__u8 pim_ver:4; /* PIM version */
pim_type:4; /* PIM message type */
#endif
__u8 pim_rsv; /* Reserved */
__be16 pim_cksum; /* Checksum */
};

#define PIM_MINLEN 8
#endif

/* Message types - V1 */
#define PIM_V1_VERSION __constant_htonl(0x10000000)
#define PIM_V1_REGISTER 1
Expand All @@ -27,7 +11,6 @@ struct pim {
#define PIM_VERSION 2
#define PIM_REGISTER 1

#if defined(__KERNEL__)
#define PIM_NULL_REGISTER __constant_htonl(0x40000000)

/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
Expand All @@ -42,4 +25,3 @@ struct pimreghdr
struct sk_buff;
extern int pim_rcv_v1(struct sk_buff *);
#endif
#endif

0 comments on commit 7c19a3d

Please sign in to comment.