OSDN Git Service

rxrpc: Fix dependency on IPv6 in udp tunnel config
authorVadim Fedorenko <vfedorenko@novek.ru>
Fri, 12 Feb 2021 10:48:14 +0000 (13:48 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Feb 2021 00:42:05 +0000 (16:42 -0800)
As udp_port_cfg struct changes its members with dependency on IPv6
configuration, the code in rxrpc should also check for IPv6.

Fixes: 1a9b86c9fd95 ("rxrpc: use udp tunnel APIs instead of open code in rxrpc_open_socket")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Vadim Fedorenko <vfedorenko@novek.ru>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rxrpc/local_object.c

index 546fd23..a411140 100644 (file)
@@ -120,9 +120,11 @@ static int rxrpc_open_socket(struct rxrpc_local *local, struct net *net)
        if (udp_conf.family == AF_INET) {
                udp_conf.local_ip = srx->transport.sin.sin_addr;
                udp_conf.local_udp_port = srx->transport.sin.sin_port;
+#if IS_ENABLED(CONFIG_AF_RXRPC_IPV6)
        } else {
                udp_conf.local_ip6 = srx->transport.sin6.sin6_addr;
                udp_conf.local_udp_port = srx->transport.sin6.sin6_port;
+#endif
        }
        ret = udp_sock_create(net, &udp_conf, &local->socket);
        if (ret < 0) {