Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6031daaa authored by Sven Eckelmann's avatar Sven Eckelmann Committed by Sasha Levin
Browse files

batman-adv: Avoid WARN_ON timing related checks



[ Upstream commit 9f460ae31c4435fd022c443a6029352217a16ac1 ]

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: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: default avatar <syzbot+c0b807de416427ff3dd1@syzkaller.appspotmail.com>
Fixes: ef0a937f ("batman-adv: consider outgoing interface in OGM sending")
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 3c5c213e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -585,8 +585,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;