rxrpc: Fix dependency on IPv6 in udp tunnel config
As udp_port_cfg struct changes its members with dependency on IPv6
configuration, the code in rxrpc should also check for IPv6.
Fixes: 1a9b86c9fd
("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>
This commit is contained in:
Родитель
0a2f6b32cc
Коммит
295f830e53
|
@ -120,9 +120,11 @@ static int rxrpc_open_socket(struct rxrpc_local *local, struct net *net)
|
||||||
if (udp_conf.family == AF_INET) {
|
if (udp_conf.family == AF_INET) {
|
||||||
udp_conf.local_ip = srx->transport.sin.sin_addr;
|
udp_conf.local_ip = srx->transport.sin.sin_addr;
|
||||||
udp_conf.local_udp_port = srx->transport.sin.sin_port;
|
udp_conf.local_udp_port = srx->transport.sin.sin_port;
|
||||||
|
#if IS_ENABLED(CONFIG_AF_RXRPC_IPV6)
|
||||||
} else {
|
} else {
|
||||||
udp_conf.local_ip6 = srx->transport.sin6.sin6_addr;
|
udp_conf.local_ip6 = srx->transport.sin6.sin6_addr;
|
||||||
udp_conf.local_udp_port = srx->transport.sin6.sin6_port;
|
udp_conf.local_udp_port = srx->transport.sin6.sin6_port;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
ret = udp_sock_create(net, &udp_conf, &local->socket);
|
ret = udp_sock_create(net, &udp_conf, &local->socket);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче