Message ID | 1486160982.21871.111.camel@edumazet-glaptop3.roam.corp.google.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Fri, 03 Feb 2017 14:29:42 -0800 > From: Eric Dumazet <edumazet@google.com> > > 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: b2504a5dbef3 ("net: reduce skb_warn_bad_offload() noise") > Signed-off-by: Eric Dumazet <edumazet@google.com> Applied.
diff --git a/net/core/dev.c b/net/core/dev.c index 727b6fda0e8c6497ee42dc6d3065e326e9192c21..2ba5ef33e83909871fcf69a036062e00f0cf86c7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2637,9 +2637,10 @@ EXPORT_SYMBOL(skb_mac_gso_segment); static inline bool skb_needs_check(struct sk_buff *skb, bool tx_path) { if (tx_path) - return skb->ip_summed != CHECKSUM_PARTIAL; - else - return skb->ip_summed == CHECKSUM_NONE; + return skb->ip_summed != CHECKSUM_PARTIAL && + skb->ip_summed != CHECKSUM_NONE; + + return skb->ip_summed == CHECKSUM_NONE; } /**