riscv: Fix kernel stack size when KASAN is enabled
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Tue, 17 Sep 2024 15:03:28 +0000 (17:03 +0200)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 1 Oct 2024 20:08:11 +0000 (13:08 -0700)
commitcfb10de18538e383dbc4f3ce7f477ce49287ff3d
tree3ea0cffff996f84aaa0af066035102b9665fb344
parentc625154993d0d24a962b1830cd5ed92adda2cf86
riscv: Fix kernel stack size when KASAN is enabled

We use Kconfig to select the kernel stack size, doubling the default
size if KASAN is enabled.

But that actually only works if KASAN is selected from the beginning,
meaning that if KASAN config is added later (for example using
menuconfig), CONFIG_THREAD_SIZE_ORDER won't be updated, keeping the
default size, which is not enough for KASAN as reported in [1].

So fix this by moving the logic to compute the right kernel stack into a
header.

Fixes: a7555f6b62e7 ("riscv: stack: Add config of thread stack size")
Reported-by: syzbot+ba9eac24453387a9d502@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/000000000000eb301906222aadc2@google.com/ [1]
Cc: stable@vger.kernel.org
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240917150328.59831-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig
arch/riscv/include/asm/thread_info.h