tcp: Fix IPV6 module build errors
authorTushar Behera <tushar.behera@linaro.org>
Wed, 26 Mar 2014 09:57:05 +0000 (15:27 +0530)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:51:45 +0000 (13:51 -0800)
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: Tushar Behera <tushar.behera@linaro.org>
CC: John Stultz <john.stultz@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
net/ipv4/tcp.c

index 65dc38a429ae9e74dcdb1af9cc329056ea87023e..e8c126a52551802e9ee90fc6052c02fb0d34cd25 100644 (file)
@@ -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);