From: Stefano Brivio Date: Thu, 15 Mar 2018 16:17:13 +0000 (+0100) Subject: vti6: Fix dev->max_mtu setting X-Git-Tag: v5.15~9189^2~13^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8a554b4aa9686bb2c12f6bae516e58783289a03;p=platform%2Fkernel%2Flinux-starfive.git vti6: Fix dev->max_mtu setting We shouldn't allow a tunnel to have IP_MAX_MTU as MTU, because another IPv6 header is going on top of our packets. Without this patch, we might end up building packets bigger than IP_MAX_MTU. Fixes: b96f9afee4eb ("ipv4/6: use core net MTU range checking") Signed-off-by: Stefano Brivio Acked-by: Sabrina Dubroca Signed-off-by: Steffen Klassert --- diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index 9711751..ce18cd2 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c @@ -879,7 +879,7 @@ static void vti6_dev_setup(struct net_device *dev) dev->type = ARPHRD_TUNNEL6; dev->min_mtu = IPV6_MIN_MTU; - dev->max_mtu = IP_MAX_MTU; + dev->max_mtu = IP_MAX_MTU - sizeof(struct ipv6hdr); dev->flags |= IFF_NOARP; dev->addr_len = sizeof(struct in6_addr); netif_keep_dst(dev);