summaryrefslogtreecommitdiff
path: root/scripts/gdb/linux/interrupts.py
diff options
context:
space:
mode:
authorNam Cao <namcao@linutronix.de>2025-06-25 11:56:30 +0300
committerPalmer Dabbelt <palmer@dabbelt.com>2025-07-16 19:05:26 +0300
commit969f028bf2c40573ef18061f702ede3ebfe12b42 (patch)
tree2a40b8b427dbbd20e4aaff3a8bbca3f0b40c9305 /scripts/gdb/linux/interrupts.py
parente3f16d63d54e6fcf2b18812f2dd0a8d2782b5f3a (diff)
downloadlinux-969f028bf2c40573ef18061f702ede3ebfe12b42.tar.xz
riscv: Enable interrupt during exception handling
force_sig_fault() takes a spinlock, which is a sleeping lock with CONFIG_PREEMPT_RT=y. However, exception handling calls force_sig_fault() with interrupt disabled, causing a sleeping in atomic context warning. This can be reproduced using userspace programs such as: int main() { asm ("ebreak"); } or int main() { asm ("unimp"); } There is no reason that interrupt must be disabled while handling exceptions from userspace. Enable interrupt while handling user exceptions. This also has the added benefit of avoiding unnecessary delays in interrupt handling. Fixes: f0bddf50586d ("riscv: entry: Convert to generic entry") Suggested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Nam Cao <namcao@linutronix.de> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20250625085630.3649485-1-namcao@linutronix.de Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
Diffstat (limited to 'scripts/gdb/linux/interrupts.py')
0 files changed, 0 insertions, 0 deletions