]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/ipv4/datagram.c
x86: clean up memory corruption check and add more kernel parameters
[linux-2.6-omap-h63xx.git] / net / ipv4 / datagram.c
index dd02a45d0f675945c8c85799ac99b4fbea4c9c04..5e6c5a0f3fde2ac0bea2956542260bd5d947d553 100644 (file)
@@ -40,7 +40,7 @@ int ip4_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
 
        oif = sk->sk_bound_dev_if;
        saddr = inet->saddr;
-       if (MULTICAST(usin->sin_addr.s_addr)) {
+       if (ipv4_is_multicast(usin->sin_addr.s_addr)) {
                if (!oif)
                        oif = inet->mc_index;
                if (!saddr)
@@ -50,8 +50,12 @@ int ip4_datagram_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
                               RT_CONN_FLAGS(sk), oif,
                               sk->sk_protocol,
                               inet->sport, usin->sin_port, sk, 1);
-       if (err)
+       if (err) {
+               if (err == -ENETUNREACH)
+                       IP_INC_STATS_BH(sock_net(sk), IPSTATS_MIB_OUTNOROUTES);
                return err;
+       }
+
        if ((rt->rt_flags & RTCF_BROADCAST) && !sock_flag(sk, SOCK_BROADCAST)) {
                ip_rt_put(rt);
                return -EACCES;