diff mbox series

riscv: Increase stack size under KASAN

Message ID 20220314090652.1607915-1-dvyukov@google.com (mailing list archive)
State New, archived
Headers show
Series riscv: Increase stack size under KASAN | expand

Commit Message

Dmitry Vyukov March 14, 2022, 9:06 a.m. UTC
KASAN requires more stack space because of compiler instrumentation.
Increase stack size as other arches do.

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Reported-by: syzbot+0600986d88e2d4d7ebb8@syzkaller.appspotmail.com
Cc: linux-riscv@lists.infradead.org
Cc: kasan-dev@googlegroups.com
---
 arch/riscv/include/asm/thread_info.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)


base-commit: 0966d385830de3470b7131db8e86c0c5bc9c52dc

Comments

Dmitry Vyukov March 21, 2022, 2:59 p.m. UTC | #1
On Mon, 14 Mar 2022 at 10:06, Dmitry Vyukov <dvyukov@google.com> wrote:
>
> KASAN requires more stack space because of compiler instrumentation.
> Increase stack size as other arches do.
>
> Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
> Reported-by: syzbot+0600986d88e2d4d7ebb8@syzkaller.appspotmail.com
> Cc: linux-riscv@lists.infradead.org
> Cc: kasan-dev@googlegroups.com

ping

> ---
>  arch/riscv/include/asm/thread_info.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h
> index 60da0dcacf145..74d888c8d631a 100644
> --- a/arch/riscv/include/asm/thread_info.h
> +++ b/arch/riscv/include/asm/thread_info.h
> @@ -11,11 +11,17 @@
>  #include <asm/page.h>
>  #include <linux/const.h>
>
> +#ifdef CONFIG_KASAN
> +#define KASAN_STACK_ORDER 1
> +#else
> +#define KASAN_STACK_ORDER 0
> +#endif
> +
>  /* thread information allocation */
>  #ifdef CONFIG_64BIT
> -#define THREAD_SIZE_ORDER      (2)
> +#define THREAD_SIZE_ORDER      (2 + KASAN_STACK_ORDER)
>  #else
> -#define THREAD_SIZE_ORDER      (1)
> +#define THREAD_SIZE_ORDER      (1 + KASAN_STACK_ORDER)
>  #endif
>  #define THREAD_SIZE            (PAGE_SIZE << THREAD_SIZE_ORDER)
>
>
> base-commit: 0966d385830de3470b7131db8e86c0c5bc9c52dc
> --
> 2.35.1.723.g4982287a31-goog
>
Palmer Dabbelt March 31, 2022, 5:52 a.m. UTC | #2
On Mon, 14 Mar 2022 02:06:52 PDT (-0700), dvyukov@google.com wrote:
> KASAN requires more stack space because of compiler instrumentation.
> Increase stack size as other arches do.
>
> Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
> Reported-by: syzbot+0600986d88e2d4d7ebb8@syzkaller.appspotmail.com
> Cc: linux-riscv@lists.infradead.org
> Cc: kasan-dev@googlegroups.com
> ---
>  arch/riscv/include/asm/thread_info.h | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h
> index 60da0dcacf145..74d888c8d631a 100644
> --- a/arch/riscv/include/asm/thread_info.h
> +++ b/arch/riscv/include/asm/thread_info.h
> @@ -11,11 +11,17 @@
>  #include <asm/page.h>
>  #include <linux/const.h>
>
> +#ifdef CONFIG_KASAN
> +#define KASAN_STACK_ORDER 1
> +#else
> +#define KASAN_STACK_ORDER 0
> +#endif
> +
>  /* thread information allocation */
>  #ifdef CONFIG_64BIT
> -#define THREAD_SIZE_ORDER	(2)
> +#define THREAD_SIZE_ORDER	(2 + KASAN_STACK_ORDER)
>  #else
> -#define THREAD_SIZE_ORDER	(1)
> +#define THREAD_SIZE_ORDER	(1 + KASAN_STACK_ORDER)
>  #endif
>  #define THREAD_SIZE		(PAGE_SIZE << THREAD_SIZE_ORDER)
>
>
> base-commit: 0966d385830de3470b7131db8e86c0c5bc9c52dc

Thanks, this is on for-next (there's no fixes right now, I'm still 
collecting stuff for this merge window).
diff mbox series

Patch

diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h
index 60da0dcacf145..74d888c8d631a 100644
--- a/arch/riscv/include/asm/thread_info.h
+++ b/arch/riscv/include/asm/thread_info.h
@@ -11,11 +11,17 @@ 
 #include <asm/page.h>
 #include <linux/const.h>
 
+#ifdef CONFIG_KASAN
+#define KASAN_STACK_ORDER 1
+#else
+#define KASAN_STACK_ORDER 0
+#endif
+
 /* thread information allocation */
 #ifdef CONFIG_64BIT
-#define THREAD_SIZE_ORDER	(2)
+#define THREAD_SIZE_ORDER	(2 + KASAN_STACK_ORDER)
 #else
-#define THREAD_SIZE_ORDER	(1)
+#define THREAD_SIZE_ORDER	(1 + KASAN_STACK_ORDER)
 #endif
 #define THREAD_SIZE		(PAGE_SIZE << THREAD_SIZE_ORDER)