batman-adv: Merge bugfixes from 2020.0
* Don't schedule OGM for disabled interface Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
5cba01e37a
commit
305cce9234
|
@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
|
|
||||||
PKG_VERSION:=2016.5
|
PKG_VERSION:=2016.5
|
||||||
PKG_RELEASE:=15
|
PKG_RELEASE:=16
|
||||||
PKG_MD5SUM:=6717a933a08dd2a01b00df30cb9f16a8
|
PKG_MD5SUM:=6717a933a08dd2a01b00df30cb9f16a8
|
||||||
PKG_HASH:=d0a0fc90c4f410b57d043215e253bb0b855efa5edbe165d87c17bfdcfafd0db7
|
PKG_HASH:=d0a0fc90c4f410b57d043215e253bb0b855efa5edbe165d87c17bfdcfafd0db7
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
From: Sven Eckelmann <sven@narfation.org>
|
||||||
|
Date: Sun, 16 Feb 2020 13:02:06 +0100
|
||||||
|
Subject: batman-adv: Don't schedule OGM for disabled interface
|
||||||
|
|
||||||
|
A transmission scheduling for an interface which is currently dropped by
|
||||||
|
batadv_iv_ogm_iface_disable could still be in progress. The B.A.T.M.A.N. V
|
||||||
|
is simply cancelling the workqueue item in an synchronous way but this is
|
||||||
|
not possible with B.A.T.M.A.N. IV because the OGM submissions are
|
||||||
|
intertwined.
|
||||||
|
|
||||||
|
Instead it has to stop submitting the OGM when it detect that the buffer
|
||||||
|
pointer is set to NULL.
|
||||||
|
|
||||||
|
Reported-by: syzbot+a98f2016f40b9cd3818a@syzkaller.appspotmail.com
|
||||||
|
Reported-by: syzbot+ac36b6a33c28a491e929@syzkaller.appspotmail.com
|
||||||
|
Fixes: c6c8fea29769 ("net: Add batman-adv meshing protocol")
|
||||||
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
||||||
|
Cc: Hillf Danton <hdanton@sina.com>
|
||||||
|
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
|
||||||
|
|
||||||
|
Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/a089c55ca004b396d340baae58abe9a79f32cc0f
|
||||||
|
|
||||||
|
diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
|
||||||
|
index 80fc960e656eb2f11f58fc8211235e033331bfd5..d21c88cecf2a54fbb88cd3d74d460278f5b4396b 100644
|
||||||
|
--- a/net/batman-adv/bat_iv_ogm.c
|
||||||
|
+++ b/net/batman-adv/bat_iv_ogm.c
|
||||||
|
@@ -962,6 +962,10 @@ static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface)
|
||||||
|
|
||||||
|
lockdep_assert_held(&hard_iface->bat_iv.ogm_buff_mutex);
|
||||||
|
|
||||||
|
+ /* interface already disabled by batadv_iv_ogm_iface_disable */
|
||||||
|
+ if (!*ogm_buff)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
/* the interface gets activated here to avoid race conditions between
|
||||||
|
* the moment of activating the interface in
|
||||||
|
* hardif_activate_interface() where the originator mac is set and
|
Loading…
Reference in New Issue