Re: [PATCH] loongarch: stackprotector: Use get_random_canary() for stack canary init
From: Huacai Chen
Date: Sat Apr 11 2026 - 09:12:56 EST
Applied, thanks.
Huacai
On Thu, Apr 9, 2026 at 3:35 PM Luo Qiu <luoqiu@xxxxxxxxxxxxxxx> wrote:
>
> Replace the custom stack canary initialization with the
> get_random_canary() helper, following the pattern established in commit
> 622754e84b10 ("stackprotector: actually use get_random_canary()").
>
> Signed-off-by: Luo Qiu <luoqiu@xxxxxxxxxxxxxxx>
> ---
> arch/loongarch/include/asm/stackprotector.h | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/arch/loongarch/include/asm/stackprotector.h b/arch/loongarch/include/asm/stackprotector.h
> index a1a965751a7b..42f6c3f69115 100644
> --- a/arch/loongarch/include/asm/stackprotector.h
> +++ b/arch/loongarch/include/asm/stackprotector.h
> @@ -12,9 +12,6 @@
> #ifndef _ASM_STACKPROTECTOR_H
> #define _ASM_STACKPROTECTOR_H
>
> -#include <linux/random.h>
> -#include <linux/version.h>
> -
> extern unsigned long __stack_chk_guard;
>
> /*
> @@ -25,11 +22,7 @@ extern unsigned long __stack_chk_guard;
> */
> static __always_inline void boot_init_stack_canary(void)
> {
> - unsigned long canary;
> -
> - /* Try to get a semi random initial value. */
> - get_random_bytes(&canary, sizeof(canary));
> - canary ^= LINUX_VERSION_CODE;
> + unsigned long canary = get_random_canary();
>
> current->stack_canary = canary;
> __stack_chk_guard = current->stack_canary;
> --
> 2.53.0
>