Re: [RFC PATCH v1 11/28] riscv: Implementing "PROT_SHADOWSTACK" on riscv

From: Deepak Gupta
Date: Wed Feb 21 2024 - 19:40:11 EST


On Fri, Feb 09, 2024 at 08:44:35PM +0000, Edgecombe, Rick P wrote:
On Wed, 2024-01-24 at 22:21 -0800, debug@xxxxxxxxxxxx wrote:
+       /*
+        * PROT_SHADOWSTACK is a kernel only protection flag on risc-
v.
+        * mmap doesn't expect PROT_SHADOWSTACK to be set by user
space.
+        * User space can rely on `map_shadow_stack` syscall to
create
+        * shadow stack pages.
+        */
+       if (unlikely(prot & PROT_SHADOWSTACK))
+               return -EINVAL;

Are you sure you need PROT_SHADOWSTACK? Since you are passing
VM_SHADOW_STACK into do_mmap() directly.

Sorry for (very) late response.
In this patch series since VM_SHADOW_STACK was an alias to VM_WRITE.
And that's why I needed PROT_SHADOWSTACK to disambiguate.

I am updating my patches and going with ARCH_5 bit (and thus only 64bit support).
So x86, aarch64 and risc-v will be using same bit position.