OSDN Git Service

ip6erspan: improve error handling for erspan version number.
authorWilliam Tu <u9012063@gmail.com>
Fri, 9 Mar 2018 15:34:41 +0000 (07:34 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Mar 2018 18:03:56 +0000 (13:03 -0500)
When users fill in incorrect erspan version number through
the struct erspan_metadata uapi, current code skips pushing
the erspan header but continue pushing the gre header, which
is incorrect.  The patch fixes it by returning error.

Signed-off-by: William Tu <u9012063@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_gre.c

index 83c2fff..a299f54 100644 (file)
@@ -945,6 +945,8 @@ static netdev_tx_t ip6erspan_tunnel_xmit(struct sk_buff *skb,
                                               md->u.md2.dir,
                                               get_hwid(&md->u.md2),
                                               truncate, false);
+               } else {
+                       goto tx_err;
                }
        } else {
                switch (skb->protocol) {