lkml.org 
[lkml]   [2019]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 37/95] MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit
    Date
    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>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.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
    \
     
     \ /
      Last update: 2019-05-07 07:52    [W:3.122 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site