This is needed on systems with a MMU. Signed-off-by: Nicolas Pitre <n...@linaro.org> Reviewed-by: Greg Ungerer <g...@linux-m68k.org> --- fs/binfmt_flat.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 28fc272d9a..0d89830f76 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c @@ -798,10 +798,11 @@ static int load_flat_file(struct linux_binprm * bprm, flush_icache_range(start_code, end_code); /* zero the BSS, BRK and stack areas */ - memset((void*)(datapos + data_len), 0, bss_len + + if (clear_user((void __user *)(datapos + data_len), bss_len + (memp + memp_size - stack_len - /* end brk */ libinfo->lib_list[id].start_brk) + /* start brk */ - stack_len); + stack_len)) + return -EFAULT; return 0; err: -- 2.7.4