diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c index e087862ed7e4342f5e5a0c28feb50d724150a881..ef5c75c372e41701965737ae04ed88c0f805c9f2 100644 --- a/net/phonet/datagram.c +++ b/net/phonet/datagram.c @@ -159,8 +159,11 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk, static int pn_backlog_rcv(struct sock *sk, struct sk_buff *skb) { int err = sock_queue_rcv_skb(sk, skb); - if (err < 0) + if (err < 0) { kfree_skb(skb); + if (err == -ENOMEM) + atomic_inc(&sk->sk_drops); + } return err ? NET_RX_DROP : NET_RX_SUCCESS; }