kasan: Record work creation stack trace with interrupts enabled
authorZqiang <qiang1.zhang@intel.com>
Sun, 26 Dec 2021 00:52:04 +0000 (08:52 +0800)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 14 Feb 2022 18:36:58 +0000 (10:36 -0800)
commitd818cc76e2b4d5f6cebf8c7ce1160d652d7e572b
tree3150d9db42c19629ccb752a6d46780cc0602fae6
parent1fe09ebe7a9c9907f516779fbe4954165dd01529
kasan: Record work creation stack trace with interrupts enabled

Recording the work creation stack trace for KASAN reports in
call_rcu() is expensive, due to unwinding the stack, but also
due to acquiring depot_lock inside stackdepot (which may be contended).
Because calling kasan_record_aux_stack_noalloc() does not require
interrupts to already be disabled, this may unnecessarily extend
the time with interrupts disabled.

Therefore, move calling kasan_record_aux_stack() before the section
with interrupts disabled.

Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c