diff options
author | Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp> | 2010-06-01 14:10:47 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-01 08:11:06 -0700 |
commit | e30c7c3b306312c157d67eedd6a01920518b756c (patch) | |
tree | 4eae3fe0331bd6ab4e72946574ddc619d7cc127e /fs/sync.c | |
parent | 293a7cfeedc2b2380a7c7274902323c3cf5f7575 (diff) | |
download | linux-3.10-e30c7c3b306312c157d67eedd6a01920518b756c.tar.gz linux-3.10-e30c7c3b306312c157d67eedd6a01920518b756c.tar.bz2 linux-3.10-e30c7c3b306312c157d67eedd6a01920518b756c.zip |
binfmt_elf_fdpic: Fix clear_user() error handling
clear_user() returns the number of bytes that could not be copied rather than
an error code. So we should return -EFAULT rather than directly returning the
results.
Without this patch, positive values may be returned to elf_fdpic_map_file()
and the following error handlings do not function as expected.
1.
ret = elf_fdpic_map_file_constdisp_on_uclinux(params, file, mm);
if (ret < 0)
return ret;
2.
ret = elf_fdpic_map_file_by_direct_mmap(params, file, mm);
if (ret < 0)
return ret;
Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
CC: Alexander Viro <viro@zeniv.linux.org.uk>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Daisuke HATAYAMA <d.hatayama@jp.fujitsu.com>
CC: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/sync.c')
0 files changed, 0 insertions, 0 deletions