On Tue, 23 Dec 2025, Martin Kaiser wrote: > If sbi_ecall.c's functions are traceable, > > echo "__sbi_ecall:snapshot" > /sys/kernel/tracing/set_ftrace_filter > > may get the kernel into a deadlock. > > (Functions in sbi_ecall.c are excluded from tracing if > CONFIG_RISCV_ALTERNATIVE_EARLY is set.) > > __sbi_ecall triggers a snapshot of the ringbuffer. The snapshot code > raises an IPI interrupt, which results in another call to __sbi_ecall > and another snapshot... > > All it takes to get into this endless loop is one initial __sbi_ecall. > On RISC-V systems without SSTC extension, the clock events in > timer-riscv.c issue periodic sbi ecalls, making the problem easy to > trigger. > > Always exclude the sbi_ecall.c functions from tracing to fix the > potential deadlock. > > sbi ecalls can easiliy be logged via trace events, excluding ecall > functions from function tracing is not a big limitation. > > Signed-off-by: Martin Kaiser <[email protected]>
Thanks, queued for v6.19-rc. - Paul
