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)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 11 May 2015 11:07:56 +0000 (07:07 -0400)
[ Upstream commit 3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998 ]

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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/net/ppp/ppp_generic.c

index 794a4732936883c662212e0769e62993e67d96b0..6d6c20c3ef7e9160e893271dd12cf5f9f5ec69ac 100644 (file)
@@ -1714,6 +1714,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)