diff options
author | Haishuang Yan <yanhaishuang@cmss.chinamobile.com> | 2019-07-25 11:07:56 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-07-25 17:23:40 -0700 |
commit | 47d858d0bdcd47cc1c6c9eeca91b091dd9e55637 (patch) | |
tree | d8a30acde38bd0369ad3471e7b8d199864430eb0 /net/ipv4/ipip.c | |
parent | 53db1cced401e4c65d49edf198e00daa9fc837e6 (diff) |
ipip: validate header length in ipip_tunnel_xmit
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>
Diffstat (limited to 'net/ipv4/ipip.c')
-rw-r--r-- | net/ipv4/ipip.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 43adfc1641ba..2f01cf6fa0de 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -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; |