|
@@ -1015,9 +1015,11 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
|
|
|
|
|
if ((rc = sock_queue_rcv_skb(sk, skb)) < 0) {
|
|
if ((rc = sock_queue_rcv_skb(sk, skb)) < 0) {
|
|
/* Note that an ENOMEM error is charged twice */
|
|
/* Note that an ENOMEM error is charged twice */
|
|
- if (rc == -ENOMEM)
|
|
|
|
|
|
+ if (rc == -ENOMEM) {
|
|
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
|
|
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
|
|
is_udplite);
|
|
is_udplite);
|
|
|
|
+ atomic_inc(&sk->sk_drops);
|
|
|
|
+ }
|
|
goto drop;
|
|
goto drop;
|
|
}
|
|
}
|
|
|
|
|