cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG
authorPeter Zijlstra <peterz@infradead.org>
Thu, 26 Jan 2023 15:08:31 +0000 (16:08 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 31 Jan 2023 14:01:45 +0000 (15:01 +0100)
commit5a5d7e9badd2cb8065db171961bd30bd3595e4b6
tree988449d46c78147323f4c97631166a2d3416671f
parent393e2ea30aec634b37004d401863428e120d5e1b
cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG

In order to avoid WARN/BUG from generating nested or even recursive
warnings, force rcu_is_watching() true during
WARN/lockdep_rcu_suspicious().

Notably things like unwinding the stack can trigger rcu_dereference()
warnings, which then triggers more unwinding which then triggers more
warnings etc..

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230126151323.408156109@infradead.org
include/linux/context_tracking.h
kernel/locking/lockdep.c
kernel/panic.c
lib/bug.c