Message ID | 20220916160931.1412407-2-sw@simonwunderlich.de (mailing list archive) |
---|---|
State | Accepted |
Commit | b1cb8a71f1eaec4eb77051590f7f561f25b15e32 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [1/1] batman-adv: Fix hang up with small MTU hard-interface | expand |
Hello: This patch was applied to netdev/net.git (master) by Simon Wunderlich <sw@simonwunderlich.de>: On Fri, 16 Sep 2022 18:09:31 +0200 you wrote: > From: Shigeru Yoshida <syoshida@redhat.com> > > The system hangs up when batman-adv soft-interface is created on > hard-interface with small MTU. For example, the following commands > create batman-adv soft-interface on dummy interface with zero MTU: > > # ip link add name dummy0 type dummy > # ip link set mtu 0 dev dummy0 > # ip link set up dev dummy0 > # ip link add name bat0 type batadv > # ip link set dev dummy0 master bat0 > > [...] Here is the summary with links: - [1/1] batman-adv: Fix hang up with small MTU hard-interface https://git.kernel.org/netdev/net/c/b1cb8a71f1ea You are awesome, thank you!
diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index b8f8da7ee3de..41c1ad33d009 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c @@ -10,6 +10,7 @@ #include <linux/atomic.h> #include <linux/byteorder/generic.h> #include <linux/container_of.h> +#include <linux/errno.h> #include <linux/gfp.h> #include <linux/if.h> #include <linux/if_arp.h> @@ -700,6 +701,9 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, int max_header_len = batadv_max_header_len(); int ret; + if (hard_iface->net_dev->mtu < ETH_MIN_MTU + max_header_len) + return -EINVAL; + if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) goto out;