Commit beb807ce authored by Eric Dumazet's avatar Eric Dumazet Committed by Greg Kroah-Hartman

net: skb_needs_check() accepts CHECKSUM_NONE for tx

commit 6e7bc478 upstream.

My recent change missed fact that UFO would perform a complete
UDP checksum before segmenting in frags.

In this case skb->ip_summed is set to CHECKSUM_NONE.

We need to add this valid case to skb_needs_check()

Fixes: b2504a5d ("net: reduce skb_warn_bad_offload() noise")
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 77ba7f02
...@@ -2435,9 +2435,10 @@ EXPORT_SYMBOL(skb_mac_gso_segment); ...@@ -2435,9 +2435,10 @@ EXPORT_SYMBOL(skb_mac_gso_segment);
static inline bool skb_needs_check(struct sk_buff *skb, bool tx_path) static inline bool skb_needs_check(struct sk_buff *skb, bool tx_path)
{ {
if (tx_path) if (tx_path)
return skb->ip_summed != CHECKSUM_PARTIAL; return skb->ip_summed != CHECKSUM_PARTIAL &&
else skb->ip_summed != CHECKSUM_NONE;
return skb->ip_summed == CHECKSUM_NONE;
return skb->ip_summed == CHECKSUM_NONE;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment