rxrpc: Fix incorrect conditional on IPV6
authorDavid Howells <dhowells@redhat.com>
Fri, 12 Oct 2018 15:38:36 +0000 (16:38 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 05:19:46 +0000 (22:19 -0700)
The udpv6_encap_enable() function is part of the ipv6 code, and if that is
configured as a loadable module and rxrpc is built in then a build failure
will occur because the conditional check is wrong:

  net/rxrpc/local_object.o: In function `rxrpc_lookup_local':
  local_object.c:(.text+0x2688): undefined reference to `udpv6_encap_enable'

Use the correct config symbol (CONFIG_AF_RXRPC_IPV6) in the conditional
check rather than CONFIG_IPV6 as that will do the right thing.

Fixes: 5271953cad31 ("rxrpc: Use the UDP encap_rcv hook")
Reported-by: kbuild-all@01.org
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rxrpc/local_object.c

index cad0691c2bb4178401340806d55d2e10af54caa0..0906e51d3cfb57d89181200e4fb7954f093fc1b6 100644 (file)
@@ -139,7 +139,7 @@ static int rxrpc_open_socket(struct rxrpc_local *local, struct net *net)
        udp_sk(usk)->gro_complete = NULL;
 
        udp_encap_enable();
-#if IS_ENABLED(CONFIG_IPV6)
+#if IS_ENABLED(CONFIG_AF_RXRPC_IPV6)
        if (local->srx.transport.family == AF_INET6)
                udpv6_encap_enable();
 #endif