提交 467aa146 编写于 作者: N Nicolas Pitre 提交者: Greg Ungerer

binfmt_flat: use clear_user() rather than memset() to clear .bss

This is needed on systems with a MMU.
Signed-off-by: NNicolas Pitre <nico@linaro.org>
Reviewed-by: NGreg Ungerer <gerg@linux-m68k.org>
Signed-off-by: NGreg Ungerer <gerg@linux-m68k.org>
上级 1b2ce442
......@@ -795,10 +795,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 +
(memp + memp_size - stack_len - /* end brk */
libinfo->lib_list[id].start_brk) + /* start brk */
stack_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))
return -EFAULT;
return 0;
err:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册