diff options
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 99d0077b56b8..07e2bfef6845 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
| @@ -394,6 +394,17 @@ try_again: | |||
| 394 | } | 394 | } |
| 395 | if (unlikely(err)) { | 395 | if (unlikely(err)) { |
| 396 | trace_kfree_skb(skb, udpv6_recvmsg); | 396 | trace_kfree_skb(skb, udpv6_recvmsg); |
| 397 | if (!peeked) { | ||
| 398 | atomic_inc(&sk->sk_drops); | ||
| 399 | if (is_udp4) | ||
| 400 | UDP_INC_STATS_USER(sock_net(sk), | ||
| 401 | UDP_MIB_INERRORS, | ||
| 402 | is_udplite); | ||
| 403 | else | ||
| 404 | UDP6_INC_STATS_USER(sock_net(sk), | ||
| 405 | UDP_MIB_INERRORS, | ||
| 406 | is_udplite); | ||
| 407 | } | ||
| 397 | goto out_free; | 408 | goto out_free; |
| 398 | } | 409 | } |
| 399 | if (!peeked) { | 410 | if (!peeked) { |
