diff options
author | Eric Dumazet <edumazet@google.com> | 2022-10-07 15:57:43 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-10-09 19:55:05 +0100 |
commit | b64085b00044bdf3cd1c9825e9ef5b2e0feae91a (patch) | |
tree | 2343e464899cc52f9cc890caf1857750f03ba306 | |
parent | 175302f6b79ebbb207c2d58d6d3e679465de23b0 (diff) | |
download | linux-stable-b64085b00044bdf3cd1c9825e9ef5b2e0feae91a.tar.gz linux-stable-b64085b00044bdf3cd1c9825e9ef5b2e0feae91a.tar.bz2 linux-stable-b64085b00044bdf3cd1c9825e9ef5b2e0feae91a.zip |
macvlan: enforce a consistent minimal mtu
macvlan should enforce a minimal mtu of 68, even at link creation.
This patch avoids the current behavior (which could lead to crashes
in ipv6 stack if the link is brought up)
$ ip link add macvlan1 link eno1 mtu 8 type macvlan # This should fail !
$ ip link sh dev macvlan1
5: macvlan1@eno1: <BROADCAST,MULTICAST> mtu 8 qdisc noop
state DOWN mode DEFAULT group default qlen 1000
link/ether 02:47:6c:24:74:82 brd ff:ff:ff:ff:ff:ff
$ ip link set macvlan1 mtu 67
Error: mtu less than device minimum.
$ ip link set macvlan1 mtu 68
$ ip link set macvlan1 mtu 8
Error: mtu less than device minimum.
Fixes: 91572088e3fd ("net: use core MTU range checking in core net infra")
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/macvlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 713e3354cb2e..8f8f73099de8 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1192,7 +1192,7 @@ void macvlan_common_setup(struct net_device *dev) { ether_setup(dev); - dev->min_mtu = 0; + /* ether_setup() has set dev->min_mtu to ETH_MIN_MTU. */ dev->max_mtu = ETH_MAX_MTU; dev->priv_flags &= ~IFF_TX_SKB_SHARING; netif_keep_dst(dev); |