The patch titled Subject: arm64: move COMPAT_ELF_ET_DYN_BASE lower in the address space has been added to the -mm tree. Its filename is arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Rik van Riel <riel@xxxxxxxxxx> Subject: arm64: move COMPAT_ELF_ET_DYN_BASE lower in the address space When setting up mmap_base, we take care to start the mmap base below the maximum extent to which the stack will grow. However, we take no such precautions with PIE binaries, which are placed at 2/3 of TASK_SIZE plus a random offset. As a result, 32 bit PIE binaries can end up smack in the middle of where the stack (which is randomized down) is supposed to go. That problem can be avoided by putting the 32 bit ELF_ET_DYN_BASE at 256MB, which is a value linux-hardened and grsecurity have used for a long time now without any known (to me) bug reports. Link: http://lkml.kernel.org/r/20170602152010.2064-6-riel@xxxxxxxxxx Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Daniel Micay <danielmicay@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Florian Weimer <fweimer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/arm64/include/asm/elf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/arm64/include/asm/elf.h~arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space arch/arm64/include/asm/elf.h --- a/arch/arm64/include/asm/elf.h~arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space +++ a/arch/arm64/include/asm/elf.h @@ -173,7 +173,7 @@ extern int arch_setup_additional_pages(s #ifdef CONFIG_COMPAT -#define COMPAT_ELF_ET_DYN_BASE (2 * TASK_SIZE_32 / 3) +#define COMPAT_ELF_ET_DYN_BASE (0x10000000UL) /* AArch32 registers. */ #define COMPAT_ELF_NGREG 18 _ Patches currently in -mm which might be from riel@xxxxxxxxxx are binfmt_elf-document-load_bias-a-little-bit.patch x86-elf-move-32-bit-elf_et_dyn_base-to-256mb.patch x86-mmap-properly-account-for-stack-randomization-in-mmap_base.patch arm64-mmap-properly-account-for-stack-randomization-in-mmap_base.patch arm64-move-compat_elf_et_dyn_base-lower-in-the-address-space.patch powerpcmmap-properly-account-for-stack-randomization-in-mmap_base.patch randomstackprotect-introduce-get_random_canary-function.patch forkrandom-use-get_random_canary-to-set-tsk-stack_canary.patch x86-ascii-armor-the-x86_64-boot-init-stack-canary.patch arm64-ascii-armor-the-arm64-boot-init-stack-canary.patch sh64-ascii-armor-the-sh64-boot-init-stack-canary.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html