]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ipv4/datagram.c
ipv4: Make output route lookup return rtable directly.
[karo-tx-linux.git] / net / ipv4 / datagram.c
index eaee1edd2dd7a303ec0df5f6cd4f67fc084f7fc7..85bd24ca4f6dda83e51170dabdfb7584e932a52c 100644 (file)
@@ -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;