vxlan: avoid using stale vxlan socket.
[cascardo/linux.git] / net / ipv4 / icmp.c
index 6333489..38abe70 100644 (file)
@@ -363,7 +363,7 @@ static void icmp_push_reply(struct icmp_bxm *icmp_param,
                           icmp_param->data_len+icmp_param->head_len,
                           icmp_param->head_len,
                           ipc, rt, MSG_DONTWAIT) < 0) {
-               ICMP_INC_STATS_BH(sock_net(sk), ICMP_MIB_OUTERRORS);
+               __ICMP_INC_STATS(sock_net(sk), ICMP_MIB_OUTERRORS);
                ip_flush_pending_frames(sk);
        } else if ((skb = skb_peek(&sk->sk_write_queue)) != NULL) {
                struct icmphdr *icmph = icmp_hdr(skb);
@@ -744,7 +744,7 @@ static void icmp_socket_deliver(struct sk_buff *skb, u32 info)
         * avoid additional coding at protocol handlers.
         */
        if (!pskb_may_pull(skb, iph->ihl * 4 + 8)) {
-               ICMP_INC_STATS_BH(dev_net(skb->dev), ICMP_MIB_INERRORS);
+               __ICMP_INC_STATS(dev_net(skb->dev), ICMP_MIB_INERRORS);
                return;
        }
 
@@ -865,7 +865,7 @@ static bool icmp_unreach(struct sk_buff *skb)
 out:
        return true;
 out_err:
-       ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
+       __ICMP_INC_STATS(net, ICMP_MIB_INERRORS);
        return false;
 }
 
@@ -877,7 +877,7 @@ out_err:
 static bool icmp_redirect(struct sk_buff *skb)
 {
        if (skb->len < sizeof(struct iphdr)) {
-               ICMP_INC_STATS_BH(dev_net(skb->dev), ICMP_MIB_INERRORS);
+               __ICMP_INC_STATS(dev_net(skb->dev), ICMP_MIB_INERRORS);
                return false;
        }
 
@@ -956,7 +956,7 @@ static bool icmp_timestamp(struct sk_buff *skb)
        return true;
 
 out_err:
-       ICMP_INC_STATS_BH(dev_net(skb_dst(skb)->dev), ICMP_MIB_INERRORS);
+       __ICMP_INC_STATS(dev_net(skb_dst(skb)->dev), ICMP_MIB_INERRORS);
        return false;
 }
 
@@ -996,7 +996,7 @@ int icmp_rcv(struct sk_buff *skb)
                skb_set_network_header(skb, nh);
        }
 
-       ICMP_INC_STATS_BH(net, ICMP_MIB_INMSGS);
+       __ICMP_INC_STATS(net, ICMP_MIB_INMSGS);
 
        if (skb_checksum_simple_validate(skb))
                goto csum_error;
@@ -1006,7 +1006,7 @@ int icmp_rcv(struct sk_buff *skb)
 
        icmph = icmp_hdr(skb);
 
-       ICMPMSGIN_INC_STATS_BH(net, icmph->type);
+       ICMPMSGIN_INC_STATS(net, icmph->type);
        /*
         *      18 is the highest 'known' ICMP type. Anything else is a mystery
         *
@@ -1052,9 +1052,9 @@ drop:
        kfree_skb(skb);
        return 0;
 csum_error:
-       ICMP_INC_STATS_BH(net, ICMP_MIB_CSUMERRORS);
+       __ICMP_INC_STATS(net, ICMP_MIB_CSUMERRORS);
 error:
-       ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
+       __ICMP_INC_STATS(net, ICMP_MIB_INERRORS);
        goto drop;
 }