batman-adv: update to version 2023.3
* support latest kernels (4.14 - 6.7) * coding style cleanups and refactoring * only warn about too small MTU when soft interfaces wasn't already reduced * bugs squashed: - Hold rtnl lock during MTU update via netlink Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
b69c62925f
commit
28b8a5eafe
|
@ -3,12 +3,12 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
PKG_VERSION:=2023.2
|
PKG_VERSION:=2023.3
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
PKG_HASH:=3907dcd57e2c5bfd9d40713960b9402bf1da4f80c59b5ff037789fbbbbd8fa25
|
PKG_HASH:=f7c6c53e59343c162642cb9b44f1016765d4bf513e039002be612b7a6c1ea36c
|
||||||
PKG_EXTMOD_SUBDIRS:=net/batman-adv
|
PKG_EXTMOD_SUBDIRS:=net/batman-adv
|
||||||
|
|
||||||
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
|
||||||
|
|
|
@ -117,10 +117,10 @@ This reverts commit 043ae5634bdfd4c4dd8b95a22890752495080bb5.
|
||||||
#include <linux/gfp.h>
|
#include <linux/gfp.h>
|
||||||
--- a/net/batman-adv/hard-interface.c
|
--- a/net/batman-adv/hard-interface.c
|
||||||
+++ b/net/batman-adv/hard-interface.c
|
+++ b/net/batman-adv/hard-interface.c
|
||||||
@@ -9,12 +9,12 @@
|
@@ -10,12 +10,12 @@
|
||||||
|
|
||||||
#include <linux/atomic.h>
|
#include <linux/atomic.h>
|
||||||
#include <linux/byteorder/generic.h>
|
#include <linux/byteorder/generic.h>
|
||||||
|
#include <linux/compiler.h>
|
||||||
-#include <linux/container_of.h>
|
-#include <linux/container_of.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/gfp.h>
|
#include <linux/gfp.h>
|
||||||
|
|
|
@ -7,7 +7,7 @@ macro to use when building under backports.
|
||||||
|
|
||||||
--- a/net/batman-adv/hard-interface.c
|
--- a/net/batman-adv/hard-interface.c
|
||||||
+++ b/net/batman-adv/hard-interface.c
|
+++ b/net/batman-adv/hard-interface.c
|
||||||
@@ -307,8 +307,7 @@ static bool batadv_is_cfg80211_netdev(st
|
@@ -308,8 +308,7 @@ static bool batadv_is_cfg80211_netdev(st
|
||||||
{
|
{
|
||||||
if (!net_device)
|
if (!net_device)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
From: Sven Eckelmann <sven@narfation.org>
|
|
||||||
Date: Mon, 21 Aug 2023 21:48:48 +0200
|
|
||||||
Subject: batman-adv: Hold rtnl lock during MTU update via netlink
|
|
||||||
|
|
||||||
The automatic recalculation of the maximum allowed MTU is usually triggered
|
|
||||||
by code sections which are already rtnl lock protected by callers outside
|
|
||||||
of batman-adv. But when the fragmentation setting is changed via
|
|
||||||
batman-adv's own batadv genl family, then the rtnl lock is not yet taken.
|
|
||||||
|
|
||||||
But dev_set_mtu requires that the caller holds the rtnl lock because it
|
|
||||||
uses netdevice notifiers. And this code will then fail the check for this
|
|
||||||
lock:
|
|
||||||
|
|
||||||
RTNL: assertion failed at net/core/dev.c (1953)
|
|
||||||
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Reported-by: syzbot+f8812454d9b3ac00d282@syzkaller.appspotmail.com
|
|
||||||
Fixes: 27c4d7c1c7fa ("batman-adv: Trigger events for auto adjusted MTU")
|
|
||||||
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
||||||
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
|
||||||
|
|
||||||
--- a/net/batman-adv/netlink.c
|
|
||||||
+++ b/net/batman-adv/netlink.c
|
|
||||||
@@ -495,7 +495,10 @@ static int batadv_netlink_set_mesh(struc
|
|
||||||
attr = info->attrs[BATADV_ATTR_FRAGMENTATION_ENABLED];
|
|
||||||
|
|
||||||
atomic_set(&bat_priv->fragmentation, !!nla_get_u8(attr));
|
|
||||||
+
|
|
||||||
+ rtnl_lock();
|
|
||||||
batadv_update_min_mtu(bat_priv->soft_iface);
|
|
||||||
+ rtnl_unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (info->attrs[BATADV_ATTR_GW_BANDWIDTH_DOWN]) {
|
|
Loading…
Reference in New Issue