OSDN Git Service

ipip: validate header length in ipip_tunnel_xmit
authorHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
Thu, 25 Jul 2019 03:07:56 +0000 (11:07 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jul 2019 00:23:40 +0000 (17:23 -0700)
We need the same checks introduced by commit cb9f1b783850
("ip: validate header length on virtual device xmit") for
ipip tunnel.

Fixes: cb9f1b783850b ("ip: validate header length on virtual device xmit")
Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipip.c

index 43adfc1..2f01cf6 100644 (file)
@@ -275,6 +275,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;