[TCP] Allow len == skb->len in tcp_fragment
It is legitimate to call tcp_fragment with len == skb->len since that is done for FIN packets and the FIN flag counts as one byte. So we should only check for the len > skb->len case. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
parent
49c5bfaffe
commit
b2cc99f04c
|
@ -435,17 +435,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
|
||||||
int nsize, old_factor;
|
int nsize, old_factor;
|
||||||
u16 flags;
|
u16 flags;
|
||||||
|
|
||||||
if (unlikely(len >= skb->len)) {
|
BUG_ON(len > skb->len);
|
||||||
if (net_ratelimit()) {
|
|
||||||
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;
|
nsize = skb_headlen(skb) - len;
|
||||||
if (nsize < 0)
|
if (nsize < 0)
|
||||||
nsize = 0;
|
nsize = 0;
|
||||||
|
|
Loading…
Reference in a new issue