Skip to content

Commit

Permalink
[NETFILTER]: Fix HW checksum handling in TCPMSS target
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Patrick McHardy authored and David S. Miller committed Aug 21, 2005
1 parent f93592f commit 7e71af4
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions net/ipv4/netfilter/ipt_TCPMSS.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
}
Expand Down

0 comments on commit 7e71af4

Please sign in to comment.