tcp: len check is unnecessarily devastating, change to WARN_ON
All callers are prepared for alloc failures anyway, so this error can safely be boomeranged to the callers domain without super bad consequences. ...At worst the connection might go into a state where each RTO tries to (unsuccessfully) re-fragment with such a mis-sized value and eventually dies. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2cab86bee8
commit
2fceec1337
|
@ -1003,7 +1003,8 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len,
|
||||||
int nlen;
|
int nlen;
|
||||||
u8 flags;
|
u8 flags;
|
||||||
|
|
||||||
BUG_ON(len > skb->len);
|
if (WARN_ON(len > skb->len))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
nsize = skb_headlen(skb) - len;
|
nsize = skb_headlen(skb) - len;
|
||||||
if (nsize < 0)
|
if (nsize < 0)
|
||||||
|
|
Loading…
Reference in New Issue