Re: [PATCH] riscv: Fix sleeping in invalid context in die()

From: patchwork-bot+linux-riscv
Date: Thu Jan 09 2025 - 11:16:28 EST


Hello:

This patch was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <palmer@xxxxxxxxxxxx>:

On Mon, 18 Nov 2024 10:13:33 +0100 you wrote:
> die() can be called in exception handler, and therefore cannot sleep.
> However, die() takes spinlock_t which can sleep with PREEMPT_RT enabled.
> That causes the following warning:
>
> BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
> in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 285, name: mutex
> preempt_count: 110001, expected: 0
> RCU nest depth: 0, expected: 0
> CPU: 0 UID: 0 PID: 285 Comm: mutex Not tainted 6.12.0-rc7-00022-ge19049cf7d56-dirty #234
> Hardware name: riscv-virtio,qemu (DT)
> Call Trace:
> dump_backtrace+0x1c/0x24
> show_stack+0x2c/0x38
> dump_stack_lvl+0x5a/0x72
> dump_stack+0x14/0x1c
> __might_resched+0x130/0x13a
> rt_spin_lock+0x2a/0x5c
> die+0x24/0x112
> do_trap_insn_illegal+0xa0/0xea
> _new_vmalloc_restore_context_a0+0xcc/0xd8
> Oops - illegal instruction [#1]
>
> [...]

Here is the summary with links:
- riscv: Fix sleeping in invalid context in die()
https://git.kernel.org/riscv/c/6a97f4118ac0

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