riscv: mm: Fixup compat arch_get_mmap_end
authorGuo Ren <guoren@linux.alibaba.com>
Fri, 22 Dec 2023 11:57:01 +0000 (06:57 -0500)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 11 Jan 2024 16:04:36 +0000 (08:04 -0800)
When the task is in COMPAT mode, the arch_get_mmap_end should be 2GB,
not TASK_SIZE_64. The TASK_SIZE has contained is_compat_mode()
detection, so change the definition of STACK_TOP_MAX to TASK_SIZE
directly.

Cc: stable@vger.kernel.org
Fixes: add2cc6b6515 ("RISC-V: mm: Restrict address space for sv39,sv48,sv57")
Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20231222115703.2404036-3-guoren@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/processor.h

index f19f861cda549014eee042efb651709f5da00475..e1944ff0757a824a9b93d10251524192b8d5e1c7 100644 (file)
@@ -16,7 +16,7 @@
 
 #ifdef CONFIG_64BIT
 #define DEFAULT_MAP_WINDOW     (UL(1) << (MMAP_VA_BITS - 1))
-#define STACK_TOP_MAX          TASK_SIZE_64
+#define STACK_TOP_MAX          TASK_SIZE
 
 #define arch_get_mmap_end(addr, len, flags)                    \
 ({                                                             \