riscv: stack: Fixup independent irq stack for CONFIG_FRAME_POINTER=n
authorGuo Ren <guoren@linux.alibaba.com>
Sun, 16 Jul 2023 00:15:05 +0000 (20:15 -0400)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 16 Aug 2023 14:26:28 +0000 (07:26 -0700)
commit8d0be64154cf24660a947b84340e8d5bb1af855a
treeb920a47a025204aacc0a72d408b0ef8edb95bd43
parent79bc3f85c51fc352f8e684ba6b626f677a3aa230
riscv: stack: Fixup independent irq stack for CONFIG_FRAME_POINTER=n

The independent irq stack uses s0 to save & restore sp, but s0 would be
corrupted when CONFIG_FRAME_POINTER=n. So add s0 in the clobber list to
fix the problem.

Fixes: 163e76cc6ef4 ("riscv: stack: Support HAVE_IRQ_EXIT_ON_IRQ_STACK")
Cc: stable@vger.kernel.org
Reported-by: Zhangjin Wu <falcon@tinylab.org>
Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Tested-by: Drew Fustini <dfustini@baylibre.com>
Link: https://lore.kernel.org/r/20230716001506.3506041-2-guoren@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/kernel/traps.c