[NETFILTER]: Fix HW checksum handling in TCPMSS target
Most importantly, remove bogus BUG() in receive path. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f93592ff4f
commit
7e71af49d4
|
@ -61,6 +61,10 @@ ipt_tcpmss_target(struct sk_buff **pskb,
|
|||
if (!skb_ip_make_writable(pskb, (*pskb)->len))
|
||||
return NF_DROP;
|
||||
|
||||
if ((*pskb)->ip_summed == CHECKSUM_HW &&
|
||||
skb_checksum_help(*pskb, out == NULL))
|
||||
return NF_DROP;
|
||||
|
||||
iph = (*pskb)->nh.iph;
|
||||
tcplen = (*pskb)->len - iph->ihl*4;
|
||||
|
||||
|
@ -186,9 +190,6 @@ ipt_tcpmss_target(struct sk_buff **pskb,
|
|||
newmss);
|
||||
|
||||
retmodified:
|
||||
/* We never hw checksum SYN packets. */
|
||||
BUG_ON((*pskb)->ip_summed == CHECKSUM_HW);
|
||||
|
||||
(*pskb)->nfcache |= NFC_UNKNOWN | NFC_ALTERED;
|
||||
return IPT_CONTINUE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue