Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3823c813 authored by Tushar Behera's avatar Tushar Behera Committed by John Stultz
Browse files

tcp: Fix IPV6 module build errors



If CONFIG_IPV6=m is selected, we are getting following build errors.

net/built-in.o: In function `tcp_is_local6':
net/ipv4/tcp.c:3261: undefined reference to `rt6_lookup'

Making the code conditional upon only CONFIG_IPV6=y fixes this issue.

Also export tcp_nuke_addr to build IPv6 modules. Otherwise
we run into following build error:

  CC [M]  lib/zlib_deflate/deftree.o
  CC [M]  lib/zlib_deflate/deflate_syms.o
  LD [M]  lib/zlib_deflate/zlib_deflate.o
  Building modules, stage 2.
  MODPOST 46 modules
ERROR: "tcp_nuke_addr" [net/ipv6/ipv6.ko] undefined!
make[2]: *** [__modpost] Error 1

Signed-off-by: default avatarTushar Behera <tushar.behera@linaro.org>
CC: John Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
parent 04f86f74
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3214,7 +3214,7 @@ static int tcp_is_local(struct net *net, __be32 addr) {
	return rt->dst.dev && (rt->dst.dev->flags & IFF_LOOPBACK);
}

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
#if defined(CONFIG_IPV6)
static int tcp_is_local6(struct net *net, struct in6_addr *addr) {
	struct rt6_info *rt6 = rt6_lookup(net, addr, addr, 0, 0);
	return rt6 && rt6->dst.dev && (rt6->dst.dev->flags & IFF_LOOPBACK);
@@ -3282,7 +3282,7 @@ restart:
					continue;
			}

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
#if defined(CONFIG_IPV6)
			if (family == AF_INET6) {
				struct in6_addr *s6;
				if (!inet->pinet6)
@@ -3319,3 +3319,4 @@ restart:

	return 0;
}
EXPORT_SYMBOL_GPL(tcp_nuke_addr);