Skip to contentSkip to conversation

UDP memory usage accounting: fix send buffer check

PATCH In review Satoshi OSHIMA 1 participant 1 message Sep 21, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/3 UDP memory usage accounting: fix send buffer check

This patch introduces sndbuf size check before
memory allcation for send buffer.

net/ipv4/ip_output.c +5 -0
Index: 2.6.23-rc7-udp_limit/net/ipv4/ip_output.c
===================================================================
@@ -1004,6 +1004,11 @@ alloc_new_skb:
 					frag = &skb_shinfo(skb)->frags[i];
 				}
 			} else if (i < MAX_SKB_FRAGS) {
+				if (atomic_read(&sk->sk_wmem_alloc) + PAGE_SIZE
+				    > 2 * sk->sk_sndbuf) {
+					err = -ENOBUFS;
+					goto error;
+				}
 				if (copy > PAGE_SIZE)
 					copy = PAGE_SIZE;
 				page = alloc_pages(sk->sk_allocation, 0);