ppp: call skb_checksum_complete_unset in ppp_receive_frame
authorTom Herbert <tom@herbertland.com>
Mon, 20 Apr 2015 21:10:05 +0000 (14:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Apr 2015 01:57:26 +0000 (21:57 -0400)
Call checksum_complete_unset in PPP receive to discard checksum-complete
value. PPP does not pull checksum for headers and also modifies packet
as in VJ compression.

Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ppp/ppp_generic.c

index af034dba9bd62a693ba81dd04479cd11ffc7f10e..9d15566521a719b525a28a009f1d999c91a00da2 100644 (file)
@@ -1716,6 +1716,7 @@ ppp_receive_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
 {
        /* note: a 0-length skb is used as an error indication */
        if (skb->len > 0) {
+               skb_checksum_complete_unset(skb);
 #ifdef CONFIG_PPP_MULTILINK
                /* XXX do channel-level decompression here */
                if (PPP_PROTO(skb) == PPP_MP)