Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

riscv: shstk: use the new common vm_mmap_shadow_stack() helper

Replace part of the allocate_shadow_stack() content with a call to
vm_mmap_shadow_stack(). There is no functional change.

Link: https://lkml.kernel.org/r/20260225161404.3157851-4-catalin.marinas@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Deepak Gupta <debug@rivosinc.com>
Reviewed-by: David Hildenbrand (Arm) <david@kernel.org>
Cc: Paul Walmsley <pjw@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: "Borislav Petkov (AMD)" <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Catalin Marinas and committed by
Andrew Morton
fecd446f 845e0af3

+1 -11
+1 -11
arch/riscv/kernel/usercfi.c
··· 230 230 static unsigned long allocate_shadow_stack(unsigned long addr, unsigned long size, 231 231 unsigned long token_offset, bool set_tok) 232 232 { 233 - int flags = MAP_ANONYMOUS | MAP_PRIVATE; 234 - struct mm_struct *mm = current->mm; 235 - unsigned long populate; 236 - 237 - if (addr) 238 - flags |= MAP_FIXED_NOREPLACE; 239 - 240 - mmap_write_lock(mm); 241 - addr = do_mmap(NULL, addr, size, PROT_READ, flags, 242 - VM_SHADOW_STACK | VM_WRITE, 0, &populate, NULL); 243 - mmap_write_unlock(mm); 233 + addr = vm_mmap_shadow_stack(addr, size, 0); 244 234 245 235 if (!set_tok || IS_ERR_VALUE(addr)) 246 236 goto out;