diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index c891235b4966cc4994d81acf39070d27c3060f13..4368282eb6f8fb38bcd979e8967e3f5d105cc81c 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -281,6 +281,9 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, const struct iphdr *tiph = &tunnel->parms.iph; u8 ipproto; + if (!pskb_inet_may_pull(skb)) + goto tx_error; + switch (skb->protocol) { case htons(ETH_P_IP): ipproto = IPPROTO_IPIP;