* [4.19 PATCH] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit
@ 2018-11-05 22:58 Paul Burton
2018-11-06 17:56 ` Sasha Levin
0 siblings, 1 reply; 2+ messages in thread
From: Paul Burton @ 2018-11-05 22:58 UTC (permalink / raw)
To: stable, Greg Kroah-Hartman
Cc: Huacai Chen, Paul Burton, Ralf Baechle, James Hogan, linux-mips,
Fuxin Zhang, Zhangjin Wu, Huacai Chen
From: Huacai Chen <chenhc@lemote.com>
[ Upstream commit c61c7def1fa0a722610d89790e0255b74f3c07dd ]
Commit ea7e0480a4b6 ("MIPS: VDSO: Always map near top of user memory")
set VDSO_RANDOMIZE_SIZE to 256MB for 64bit kernel. But take a look at
arch/mips/mm/mmap.c we can see that MIN_GAP is 128MB, which means the
mmap_base may be at (user_address_top - 128MB). This make the stack be
surrounded by mmaped areas, then stack expanding fails and causes a
segmentation fault. Therefore, VDSO_RANDOMIZE_SIZE should be less than
MIN_GAP and this patch reduce it to 64MB.
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: ea7e0480a4b6 ("MIPS: VDSO: Always map near top of user memory")
Patchwork: https://patchwork.linux-mips.org/patch/20910/
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: Huacai Chen <chenhuacai@gmail.com>
Cc: stable@vger.kernel.org # 4.19
---
arch/mips/include/asm/processor.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/include/asm/processor.h b/arch/mips/include/asm/processor.h
index 49d6046ca1d0..c373eb605040 100644
--- a/arch/mips/include/asm/processor.h
+++ b/arch/mips/include/asm/processor.h
@@ -81,7 +81,7 @@ extern unsigned int vced_count, vcei_count;
#endif
-#define VDSO_RANDOMIZE_SIZE (TASK_IS_32BIT_ADDR ? SZ_1M : SZ_256M)
+#define VDSO_RANDOMIZE_SIZE (TASK_IS_32BIT_ADDR ? SZ_1M : SZ_64M)
extern unsigned long mips_stack_top(void);
#define STACK_TOP mips_stack_top()
--
2.19.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [4.19 PATCH] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit
2018-11-05 22:58 [4.19 PATCH] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit Paul Burton
@ 2018-11-06 17:56 ` Sasha Levin
0 siblings, 0 replies; 2+ messages in thread
From: Sasha Levin @ 2018-11-06 17:56 UTC (permalink / raw)
To: Paul Burton
Cc: stable, Greg Kroah-Hartman, Huacai Chen, Paul Burton,
Ralf Baechle, James Hogan, linux-mips, Fuxin Zhang, Zhangjin Wu,
Huacai Chen
On Mon, Nov 05, 2018 at 10:58:30PM +0000, Paul Burton wrote:
>From: Huacai Chen <chenhc@lemote.com>
>
>[ Upstream commit c61c7def1fa0a722610d89790e0255b74f3c07dd ]
>
>Commit ea7e0480a4b6 ("MIPS: VDSO: Always map near top of user memory")
>set VDSO_RANDOMIZE_SIZE to 256MB for 64bit kernel. But take a look at
>arch/mips/mm/mmap.c we can see that MIN_GAP is 128MB, which means the
>mmap_base may be at (user_address_top - 128MB). This make the stack be
>surrounded by mmaped areas, then stack expanding fails and causes a
>segmentation fault. Therefore, VDSO_RANDOMIZE_SIZE should be less than
>MIN_GAP and this patch reduce it to 64MB.
>
>Signed-off-by: Huacai Chen <chenhc@lemote.com>
>Signed-off-by: Paul Burton <paul.burton@mips.com>
>Fixes: ea7e0480a4b6 ("MIPS: VDSO: Always map near top of user memory")
>Patchwork: https://patchwork.linux-mips.org/patch/20910/
>Cc: Ralf Baechle <ralf@linux-mips.org>
>Cc: James Hogan <jhogan@kernel.org>
>Cc: linux-mips@linux-mips.org
>Cc: Fuxin Zhang <zhangfx@lemote.com>
>Cc: Zhangjin Wu <wuzhangjin@gmail.com>
>Cc: Huacai Chen <chenhuacai@gmail.com>
>Cc: stable@vger.kernel.org # 4.19
Now queued for 4.19, thank you.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-11-07 3:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-05 22:58 [4.19 PATCH] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit Paul Burton
2018-11-06 17:56 ` Sasha Levin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.