Re: [patch 29/42] net: Unbreak userspace which includes linux/mroute.h

From: Stefan Lippers-Hollmann
Date: Wed Sep 03 2008 - 15:17:20 EST


Hi

On Mittwoch, 3. September 2008, Greg KH wrote:
> 2.6.26-stable review patch. If anyone has any objections, please let us know.
>
> ------------------
>
> From: David S. Miller <davem@xxxxxxxxxxxxx>
>
> [ Upstream commit 7c19a3d280297d43ef5ff7c6b205dc208a16d3d1 ]
>
> This essentially reverts two commits:
>
> 1) 2e8046271f68198dd37451017c1a4a2432e4ec68 ("[IPV4] MROUTE: Move PIM
> definitions to <linux/pim.h>.")
>
> and
>
> 2) 80a9492a33dd7d852465625022d56ff76d62174d ("[IPV4] MROUTE: Adjust
> include files for user-space.")
>
> which broke userpsace, in particular the XORP build as reported by
> Jose Calhariz, the debain package maintainer for XORP.
>
> 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 reasonable 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.
>
> The commit #1 had such a short and terse commit message, that we
> cannot even know why such a move and set of new userland exports were
> even made.
>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
>
> ---
> include/linux/Kbuild | 1 -
> include/linux/mroute.h | 25 +++++++++++++++++++++----
> include/linux/pim.h | 45 ---------------------------------------------
> 3 files changed, 21 insertions(+), 50 deletions(-)

This patch is missing to remove the include for linux/pim.h in
net/ipv6/ip6mr.c, leading to the following build failure:

CC [M] net/ipv6/ip6mr.o
net/ipv6/ip6mr.c:48:23: error: linux/pim.h: Datei oder Verzeichnis nicht gefunden
net/ipv6/ip6mr.c: In function âpim6_rcvâ:
net/ipv6/ip6mr.c:354: error: dereferencing pointer to incomplete type
net/ipv6/ip6mr.c:358: error: dereferencing pointer to incomplete type
net/ipv6/ip6mr.c:358: error: âPIM_VERSIONâ undeclared (first use in this function)
net/ipv6/ip6mr.c:358: error: (Each undeclared identifier is reported only once
net/ipv6/ip6mr.c:358: error: for each function it appears in.)
net/ipv6/ip6mr.c:358: error: âPIM_REGISTERâ undeclared (first use in this function)
net/ipv6/ip6mr.c:359: error: dereferencing pointer to incomplete type
net/ipv6/ip6mr.c:359: error: âPIM_NULL_REGISTERâ undeclared (first use in this function)
net/ipv6/ip6mr.c:360: error: dereferencing pointer to incomplete type
net/ipv6/ip6mr.c:366: error: dereferencing pointer to incomplete type
net/ipv6/ip6mr.c:370: error: dereferencing pointer to incomplete type
make[2]: *** [net/ipv6/ip6mr.o] Fehler 1
make[1]: *** [net/ipv6] Fehler 2
make: *** [net] Fehler 2

Regards
Stefan Lippers-Hollmann
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/