diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index adecbe2800b89b96164548a3fe1137033a141b39..43e72e6b24ae43e5939352eabd05f5df255a8d72 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1409,7 +1409,7 @@ int __udp_enqueue_schedule_skb(struct sock *sk, struct sk_buff *skb) * queue contains some other skb */ rmem = atomic_add_return(size, &sk->sk_rmem_alloc); - if (rmem > (size + sk->sk_rcvbuf)) + if (rmem > (size + (unsigned int)sk->sk_rcvbuf)) goto uncharge_drop; spin_lock(&list->lock);