ipv4: Make output route lookup return rtable directly.
Instead of on the stack. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -46,11 +46,12 @@ int ip4_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
|
||||
if (!saddr)
|
||||
saddr = inet->mc_addr;
|
||||
}
|
||||
err = ip_route_connect(&rt, usin->sin_addr.s_addr, saddr,
|
||||
RT_CONN_FLAGS(sk), oif,
|
||||
sk->sk_protocol,
|
||||
inet->inet_sport, usin->sin_port, sk, true);
|
||||
if (err) {
|
||||
rt = ip_route_connect(usin->sin_addr.s_addr, saddr,
|
||||
RT_CONN_FLAGS(sk), oif,
|
||||
sk->sk_protocol,
|
||||
inet->inet_sport, usin->sin_port, sk, true);
|
||||
if (IS_ERR(rt)) {
|
||||
err = PTR_ERR(rt);
|
||||
if (err == -ENETUNREACH)
|
||||
IP_INC_STATS_BH(sock_net(sk), IPSTATS_MIB_OUTNOROUTES);
|
||||
return err;
|
||||
|
Reference in New Issue
Block a user