mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
mm, elf: handle vm_brk error
commit ecc2bc8ac0 upstream.
load_elf_library doesn't handle vm_brk failure although nothing really
indicates it cannot do that because the function is allowed to fail due
to vm_mmap failures already. This might be not a problem now but later
patch will make vm_brk killable (resp. mmap_sem for write waiting will
become killable) and so the failure will be more probable.
Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f04651b97a
commit
cac9339052
@@ -1215,8 +1215,11 @@ static int load_elf_library(struct file *file)
|
||||
len = ELF_PAGESTART(eppnt->p_filesz + eppnt->p_vaddr +
|
||||
ELF_MIN_ALIGN - 1);
|
||||
bss = eppnt->p_memsz + eppnt->p_vaddr;
|
||||
if (bss > len)
|
||||
vm_brk(len, bss - len);
|
||||
if (bss > len) {
|
||||
error = vm_brk(len, bss - len);
|
||||
if (BAD_ADDR(error))
|
||||
goto out_free_ph;
|
||||
}
|
||||
error = 0;
|
||||
|
||||
out_free_ph:
|
||||
|
||||
Reference in New Issue
Block a user