diff options
Diffstat (limited to 'net/ipv4/udp.c')
| -rw-r--r-- | net/ipv4/udp.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 53b89817c00..79c8dbe59b5 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -758,7 +758,7 @@ static int udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4)  		uh->check = CSUM_MANGLED_0;  send: -	err = ip_send_skb(skb); +	err = ip_send_skb(sock_net(sk), skb);  	if (err) {  		if (err == -ENOBUFS && !inet->recverr) {  			UDP_INC_STATS_USER(sock_net(sk), @@ -1226,6 +1226,11 @@ try_again:  	if (unlikely(err)) {  		trace_kfree_skb(skb, udp_recvmsg); +		if (!peeked) { +			atomic_inc(&sk->sk_drops); +			UDP_INC_STATS_USER(sock_net(sk), +					   UDP_MIB_INERRORS, is_udplite); +		}  		goto out_free;  	}  |