lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 7 May 2019 01:37:26 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Huacai Chen <chenhc@...ote.com>, Paul Burton <paul.burton@...s.com>, Ralf Baechle <ralf@...ux-mips.org>, James Hogan <jhogan@...nel.org>, linux-mips@...ux-mips.org, Fuxin Zhang <zhangfx@...ote.com>, Zhangjin Wu <wuzhangjin@...il.com>, Huacai Chen <chenhuacai@...il.com>, Sasha Levin <alexander.levin@...rosoft.com>, linux-mips@...r.kernel.org Subject: [PATCH AUTOSEL 4.14 37/95] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit From: Huacai Chen <chenhc@...ote.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@...ote.com> Signed-off-by: Paul Burton <paul.burton@...s.com> Fixes: ea7e0480a4b6 ("MIPS: VDSO: Always map near top of user memory") Patchwork: https://patchwork.linux-mips.org/patch/20910/ Cc: Ralf Baechle <ralf@...ux-mips.org> Cc: James Hogan <jhogan@...nel.org> Cc: linux-mips@...ux-mips.org Cc: Fuxin Zhang <zhangfx@...ote.com> Cc: Zhangjin Wu <wuzhangjin@...il.com> Cc: Huacai Chen <chenhuacai@...il.com> Signed-off-by: Sasha Levin <alexander.levin@...rosoft.com> --- 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 8bbbab611a3f..0b86a01de956 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.20.1
Powered by blists - more mailing lists