From a3be7fa77366ad0cc8dd21de0957cdc2a4c9351b Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Wed, 12 Oct 2005 15:59:39 -0700 Subject: [PATCH] --- yaml --- r: 9842 b: refs/heads/master c: 9ff5c59ce278c37bca22fbf98076d199bcaf9845 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv4/tcp_output.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 112d81abb2f7..d1ccd5df83c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: afb997c6163b33292d31a09d6aa5cbb03ffa5bf1 +refs/heads/master: 9ff5c59ce278c37bca22fbf98076d199bcaf9845 diff --git a/trunk/net/ipv4/tcp_output.c b/trunk/net/ipv4/tcp_output.c index 8225e4257258..f37a50e55b68 100644 --- a/trunk/net/ipv4/tcp_output.c +++ b/trunk/net/ipv4/tcp_output.c @@ -435,7 +435,14 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss int nsize, old_factor; u16 flags; - BUG_ON(len >= skb->len); + if (unlikely(len >= skb->len)) { + printk(KERN_DEBUG "TCP: seg_size=%u, mss=%u, seq=%u, " + "end_seq=%u, skb->len=%u.\n", len, mss_now, + TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq, + skb->len); + WARN_ON(1); + return 0; + } nsize = skb_headlen(skb) - len; if (nsize < 0)