diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 02258b28e370..700d93e73f6e 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1293,6 +1293,9 @@ out_free_interp: if (IS_ENABLED(CONFIG_ARCH_HAS_ELF_RANDOMIZE) && elf_ex->e_type == ET_DYN && !interpreter) { mm->brk = mm->start_brk = ELF_ET_DYN_BASE; + } else { + /* Otherwise leave a gap between .bss and brk. */ + mm->brk = mm->start_brk = mm->brk + PAGE_SIZE; } mm->brk = mm->start_brk = arch_randomize_brk(mm);