ipv6: fix the use of pcpu_tstats in sit
authorLi RongQing <roy.qing.li@gmail.com>
Thu, 2 Jan 2014 00:49:36 +0000 (08:49 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Jan 2014 03:48:59 +0000 (22:48 -0500)
when read/write the 64bit data, the correct lock should be hold.

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/sit.c

index c87482252577c09e88b419e7f80a1d3eb2790226..d3005b34476a82f8172cfe8807507d561d307938 100644 (file)
@@ -702,8 +702,10 @@ static int ipip6_rcv(struct sk_buff *skb)
                }
 
                tstats = this_cpu_ptr(tunnel->dev->tstats);
+               u64_stats_update_begin(&tstats->syncp);
                tstats->rx_packets++;
                tstats->rx_bytes += skb->len;
+               u64_stats_update_end(&tstats->syncp);
 
                netif_rx(skb);