Skip to content

Commit 8e8ce08

Browse files
ecsvsimonwunderlich
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]>
1 parent bb6d3fb commit 8e8ce08

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
@@ -789,6 +789,10 @@ static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface)
789789

790790
lockdep_assert_held(&hard_iface->bat_iv.ogm_buff_mutex);
791791

792+
/* interface already disabled by batadv_iv_ogm_iface_disable */
793+
if (!*ogm_buff)
794+
return;
795+
792796
/* the interface gets activated here to avoid race conditions between
793797
* the moment of activating the interface in
794798
* hardif_activate_interface() where the originator mac is set and

0 commit comments

Comments
 (0)