This patch introduces sndbuf size check before

memory allcation for send buffer.

signed-off-by: Satoshi Oshima <[EMAIL PROTECTED]>

signed-off-by: Hideo Aoki <[EMAIL PROTECTED]>

Index: 2.6.23-rc7-udp_limit/net/ipv4/ip_output.c

===================================================================

--- 2.6.23-rc7-udp_limit.orig/net/ipv4/ip_output.c

+++ 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);

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to