Skip to content

Commit baed34e

Browse files
ecsvgregkh
authored andcommitted
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: [email protected] Reported-by: [email protected] Fixes: c6c8fea ("net: Add batman-adv meshing protocol") Signed-off-by: Sven Eckelmann <[email protected]> Cc: Hillf Danton <[email protected]> Signed-off-by: Simon Wunderlich <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 1f9fd18 commit baed34e

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

net/batman-adv/bat_iv_ogm.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,10 @@ static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface)
969969

970970
lockdep_assert_held(&hard_iface->bat_iv.ogm_buff_mutex);
971971

972+
/* interface already disabled by batadv_iv_ogm_iface_disable */
973+
if (!*ogm_buff)
974+
return;
975+
972976
/* the interface gets activated here to avoid race conditions between
973977
* the moment of activating the interface in
974978
* hardif_activate_interface() where the originator mac is set and

0 commit comments

Comments
 (0)