diff options
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 829d300a6f35..d3b59d73f507 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
| @@ -390,11 +390,13 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) | |||
| 390 | if (rc == -ENOMEM) | 390 | if (rc == -ENOMEM) |
| 391 | UDP6_INC_STATS_BH(sock_net(sk), | 391 | UDP6_INC_STATS_BH(sock_net(sk), |
| 392 | UDP_MIB_RCVBUFERRORS, is_udplite); | 392 | UDP_MIB_RCVBUFERRORS, is_udplite); |
| 393 | goto drop; | 393 | goto drop_no_sk_drops_inc; |
| 394 | } | 394 | } |
| 395 | 395 | ||
| 396 | return 0; | 396 | return 0; |
| 397 | drop: | 397 | drop: |
| 398 | atomic_inc(&sk->sk_drops); | ||
| 399 | drop_no_sk_drops_inc: | ||
| 398 | UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite); | 400 | UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite); |
| 399 | kfree_skb(skb); | 401 | kfree_skb(skb); |
| 400 | return -1; | 402 | return -1; |
