[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <c4b522bbcc0bef99a917c331949b0a6840fcab4c.1750285100.git.jbaron@akamai.com>
Date: Wed, 18 Jun 2025 19:13:22 -0400
From: Jason Baron <jbaron@...mai.com>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, horms@...nel.org, kuniyu@...zon.com
Subject: [PATCH net-next v2 2/3] udp: use __sock_rcvbuf_has_space() helper
Make use of __sock_rcvbuf_has_space() in __udp_enqueue_schedule_skb().
Signed-off-by: Jason Baron <jbaron@...mai.com>
---
net/ipv4/udp.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index dde52b8050b8..64e6c34a8fb8 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1733,17 +1733,8 @@ int __udp_enqueue_schedule_skb(struct sock *sk, struct sk_buff *skb)
rcvbuf = READ_ONCE(sk->sk_rcvbuf);
size = skb->truesize;
- /* Immediately drop when the receive queue is full.
- * Cast to unsigned int performs the boundary check for INT_MAX.
- */
- if (rmem + size > rcvbuf) {
- if (rcvbuf > INT_MAX >> 1)
- goto drop;
-
- /* Always allow at least one packet for small buffer. */
- if (rmem > rcvbuf)
- goto drop;
- }
+ if (!__sock_rcvbuf_has_space(rmem, rcvbuf, size))
+ goto drop;
/* Under mem pressure, it might be helpful to help udp_recvmsg()
* having linear skbs :
--
2.25.1
Powered by blists - more mailing lists