summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2021-08-20 11:54:22 +0200
committerSven Eckelmann <sven@narfation.org>2021-08-20 11:59:36 +0200
commit3c10076826a519b9e2b80faeb9472312a0967f5c (patch)
tree38f2a98ef83275f26d8078bbd8d408b8698a62a4
parenta995b6204366620954055787e28f5c48c2ea8f68 (diff)
batman-adv: Merge bugfixes from 2021.2
* Avoid WARN_ON timing related checks Signed-off-by: Sven Eckelmann <sven@narfation.org>
-rw-r--r--batman-adv/Makefile2
-rw-r--r--batman-adv/patches/0001-batman-adv-Avoid-WARN_ON-timing-related-checks.patch33
2 files changed, 34 insertions, 1 deletions
diff --git a/batman-adv/Makefile b/batman-adv/Makefile
index 5662e5e..de06ae6 100644
--- a/batman-adv/Makefile
+++ b/batman-adv/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=batman-adv
PKG_VERSION:=2019.2
-PKG_RELEASE:=12
+PKG_RELEASE:=13
PKG_HASH:=70c3f6a6cf88d2b25681a76768a52ed92d9fe992ba8e358368b6a8088757adc8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/batman-adv/patches/0001-batman-adv-Avoid-WARN_ON-timing-related-checks.patch b/batman-adv/patches/0001-batman-adv-Avoid-WARN_ON-timing-related-checks.patch
new file mode 100644
index 0000000..dda2034
--- /dev/null
+++ b/batman-adv/patches/0001-batman-adv-Avoid-WARN_ON-timing-related-checks.patch
@@ -0,0 +1,33 @@
+From: Sven Eckelmann <sven@narfation.org>
+Date: Tue, 18 May 2021 21:00:27 +0200
+Subject: batman-adv: Avoid WARN_ON timing related checks
+
+The soft/batadv interface for a queued OGM can be changed during the time
+the OGM was queued for transmission and when the OGM is actually
+transmitted by the worker.
+
+But WARN_ON must be used to denote kernel bugs and not to print simple
+warnings. A warning can simply be printed using pr_warn.
+
+Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
+Reported-by: syzbot+c0b807de416427ff3dd1@syzkaller.appspotmail.com
+Fixes: 29b9256e6631 ("batman-adv: consider outgoing interface in OGM sending")
+Signed-off-by: Sven Eckelmann <sven@narfation.org>
+Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/5061f9c502d7101912089d8f4a7866e0a926a49a
+
+diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
+index bd4138ddf7e09a0020d9842d603dc98f21e225c7..2d398ac762aa612b6da2f64874bd07a6d84d5220 100644
+--- a/net/batman-adv/bat_iv_ogm.c
++++ b/net/batman-adv/bat_iv_ogm.c
+@@ -373,8 +373,10 @@ static void batadv_iv_ogm_emit(struct batadv_forw_packet *forw_packet)
+ if (WARN_ON(!forw_packet->if_outgoing))
+ return;
+
+- if (WARN_ON(forw_packet->if_outgoing->soft_iface != soft_iface))
++ if (forw_packet->if_outgoing->soft_iface != soft_iface) {
++ pr_warn("%s: soft interface switch for queued OGM\n", __func__);
+ return;
++ }
+
+ if (forw_packet->if_incoming->if_status != BATADV_IF_ACTIVE)
+ return;