Merge pull request #555 from ecsv/batadv-for-18.06
openwrt-18.06: batman-adv: Merge bugfixes from 2020.0
This commit is contained in:
commit
300fec38d2
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
|||
PKG_NAME:=batman-adv
|
||||
|
||||
PKG_VERSION:=2018.1
|
||||
PKG_RELEASE:=9
|
||||
PKG_RELEASE:=10
|
||||
PKG_HASH:=b866b28dbbe5c9238abbdf5abbc30fc526dea56898ce4c1bd76d5c017843048b
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
|
|
|
@ -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 f5941837c3ad463f276cffdb25f9b6cd87af0e92..0b052ff51bdeb36f7eac9abca927e267533d2930 100644
|
||||
--- a/net/batman-adv/bat_iv_ogm.c
|
||||
+++ b/net/batman-adv/bat_iv_ogm.c
|
||||
@@ -970,6 +970,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