[PATCH v26 01/28] mm: VM_SHADOW_STACK definition for riscv

Deepak Gupta debug at rivosinc.com
Mon Jan 26 13:56:21 PST 2026


Hi Paul,

Comment inlne.

On Wed, Jan 14, 2026 at 07:57:19PM -0700, Paul Walmsley wrote:
>On Thu, 11 Dec 2025, Deepak Gupta via B4 Relay wrote:
>
>> From: Deepak Gupta <debug at rivosinc.com>
>>
>> VM_HIGH_ARCH_5 is used for riscv
>>
>> Reviewed-by: Zong Li <zong.li at sifive.com>
>> Reviewed-by: Alexandre Ghiti <alexghiti at rivosinc.com>
>> Acked-by: David Hildenbrand <david at redhat.com>
>> Tested-by: Andreas Korb <andreas.korb at aisec.fraunhofer.de>
>> Tested-by: Valentin Haudiquet <valentin.haudiquet at canonical.com>
>> Signed-off-by: Deepak Gupta <debug at rivosinc.com>
>
>Here's what I'm planning to queue, after updating it after Lorenzo's mm
>changes.  Please let me know if you want to change anything.

Yes looks good to me. Thanks a lot.

>
>
>- Paul
>
>From: Deepak Gupta <debug at rivosinc.com>
>Date: Wed, 19 Nov 2025 09:55:05 -0700
>
>mm: add VM_SHADOW_STACK definition for riscv
>
>VM_HIGH_ARCH_5 is used for riscv.
>
>Reviewed-by: Zong Li <zong.li at sifive.com>
>Reviewed-by: Alexandre Ghiti <alexghiti at rivosinc.com>
>Acked-by: David Hildenbrand <david at redhat.com>
>Signed-off-by: Deepak Gupta <debug at rivosinc.com>
>Tested-by: Andreas Korb <andreas.korb at aisec.fraunhofer.de> # QEMU, custom CVA6
>Tested-by: Valentin Haudiquet <valentin.haudiquet at canonical.com>
>Link: https://patch.msgid.link/20251112-v5_user_cfi_series-v23-1-b55691eacf4f@rivosinc.com
>[pjw at kernel.org: clarify subject; update to apply]
>Signed-off-by: Paul Walmsley <pjw at kernel.org>
>---
> include/linux/mm.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
>diff --git a/include/linux/mm.h b/include/linux/mm.h
>index 15076261d0c2..de912272c5f9 100644
>--- a/include/linux/mm.h
>+++ b/include/linux/mm.h
>@@ -359,7 +359,7 @@ enum {
> 	DECLARE_VMA_BIT_ALIAS(PKEY_BIT2, HIGH_ARCH_2),
> 	DECLARE_VMA_BIT_ALIAS(PKEY_BIT3, HIGH_ARCH_3),
> 	DECLARE_VMA_BIT_ALIAS(PKEY_BIT4, HIGH_ARCH_4),
>-#if defined(CONFIG_X86_USER_SHADOW_STACK)
>+#if defined(CONFIG_X86_USER_SHADOW_STACK) || defined(CONFIG_RISCV_USER_CFI)
> 	/*
> 	 * VM_SHADOW_STACK should not be set with VM_SHARED because of lack of
> 	 * support core mm.
>@@ -460,7 +460,8 @@ enum {
> #define VM_PKEY_BIT4  VM_NONE
> #endif /* CONFIG_ARCH_PKEY_BITS > 4 */
> #endif /* CONFIG_ARCH_HAS_PKEYS */
>-#if defined(CONFIG_X86_USER_SHADOW_STACK) || defined(CONFIG_ARM64_GCS)
>+#if defined(CONFIG_X86_USER_SHADOW_STACK) || defined(CONFIG_ARM64_GCS) || \
>+	defined(CONFIG_RISCV_USER_CFI)
> #define VM_SHADOW_STACK	INIT_VM_FLAG(SHADOW_STACK)
> #else
> #define VM_SHADOW_STACK	VM_NONE
>-- 
>2.51.0
>
>
>
>



More information about the linux-riscv mailing list