[1/1] batman-adv: Avoid WARN_ON timing related checks

Message ID 20210608152947.30833-2-sw@simonwunderlich.de (mailing list archive)
State Not Applicable, archived
Delegated to: Simon Wunderlich
Headers
Series [1/1] batman-adv: Avoid WARN_ON timing related checks |

Commit Message

Simon Wunderlich June 8, 2021, 3:29 p.m. UTC
  From: Sven Eckelmann <sven@narfation.org>

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: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Reported-by: syzbot+c0b807de416427ff3dd1@syzkaller.appspotmail.com
Fixes: ef0a937f7a14 ("batman-adv: consider outgoing interface in OGM sending")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
---
 net/batman-adv/bat_iv_ogm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org June 8, 2021, 7:20 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Tue,  8 Jun 2021 17:29:47 +0200 you wrote:
> From: Sven Eckelmann <sven@narfation.org>
> 
> 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.
> 
> [...]

Here is the summary with links:
  - [1/1] batman-adv: Avoid WARN_ON timing related checks
    https://git.kernel.org/netdev/net/c/9f460ae31c44

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
  

Patch

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index 789f257be24f..fc8be49010b9 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -409,8 +409,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;