summaryrefslogtreecommitdiff
path: root/fs/binfmt_aout.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2016-05-18 14:10:29 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2016-05-18 14:10:29 +1000
commit835519b7469b21256b1a65404a7e306996e9296a (patch)
treed07c29ed3a8755d58d9fc54c3c1bc1963bef4cf1 /fs/binfmt_aout.c
parentd0a783895690d227fb7cadc5482d787fb44fd425 (diff)
parent00e984c3a3ea20cdaf22ff5355f50d8a01a81ce7 (diff)
Merge branch 'akpm/master'
Diffstat (limited to 'fs/binfmt_aout.c')
-rw-r--r--fs/binfmt_aout.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c
index 4c556680fa74..2fab9f130e51 100644
--- a/fs/binfmt_aout.c
+++ b/fs/binfmt_aout.c
@@ -297,7 +297,10 @@ static int load_aout_binary(struct linux_binprm * bprm)
}
if (!bprm->file->f_op->mmap||((fd_offset & ~PAGE_MASK) != 0)) {
- vm_brk(N_TXTADDR(ex), ex.a_text+ex.a_data);
+ error = vm_brk(N_TXTADDR(ex), ex.a_text+ex.a_data);
+ if (IS_ERR_VALUE(error))
+ return error;
+
read_code(bprm->file, N_TXTADDR(ex), fd_offset,
ex.a_text + ex.a_data);
goto beyond_if;
@@ -378,8 +381,10 @@ static int load_aout_library(struct file *file)
"N_TXTOFF is not page aligned. Please convert library: %pD\n",
file);
}
- vm_brk(start_addr, ex.a_text + ex.a_data + ex.a_bss);
-
+ retval = vm_brk(start_addr, ex.a_text + ex.a_data + ex.a_bss);
+ if (IS_ERR_VALUE(retval))
+ goto out;
+
read_code(file, start_addr, N_TXTOFF(ex),
ex.a_text + ex.a_data);
retval = 0;