RISC-V: Don't check text_mutex during stop_machine
authorConor Dooley <conor.dooley@microchip.com>
Fri, 3 Mar 2023 14:37:55 +0000 (14:37 +0000)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 9 Mar 2023 22:58:51 +0000 (14:58 -0800)
commit2a8db5ec4a28a0fce822d10224db9471a44b6925
tree9c89b3b16d0627904604d39260109169bc3359aa
parent76950340cf03b149412fe0d5f0810e52ac1df8cb
RISC-V: Don't check text_mutex during stop_machine

We're currently using stop_machine() to update ftrace & kprobes, which
means that the thread that takes text_mutex during may not be the same
as the thread that eventually patches the code.  This isn't actually a
race because the lock is still held (preventing any other concurrent
accesses) and there is only one thread running during stop_machine(),
but it does trigger a lockdep failure.

This patch just elides the lockdep check during stop_machine.

Fixes: c15ac4fd60d5 ("riscv/ftrace: Add dynamic function tracer support")
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Reported-by: Changbin Du <changbin.du@gmail.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230303143754.4005217-1-conor.dooley@microchip.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/ftrace.h
arch/riscv/include/asm/patch.h
arch/riscv/kernel/ftrace.c
arch/riscv/kernel/patch.c