diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-01-29 14:05:46 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-29 16:22:40 -0800 |
commit | d8d14bd09cddbaf0168d61af638455a26bd027ff (patch) | |
tree | 7f52af4737d5435e87a25e767d04de33223fccc5 /include/linux/compat.h | |
parent | dfd948e32af2e7b28bcd7a490c0a30d4b8df2a36 (diff) | |
download | lwn-d8d14bd09cddbaf0168d61af638455a26bd027ff.tar.gz lwn-d8d14bd09cddbaf0168d61af638455a26bd027ff.zip |
fs/compat: fix lookup_dcookie() parameter handling
Commit d5dc77bfeeab ("consolidate compat lookup_dcookie()") coverted all
architectures to the new compat_sys_lookup_dcookie() syscall.
The "len" paramater of the new compat syscall must have the type
compat_size_t in order to enforce zero extension for architectures where
the ABI requires that the caller of a function performed zero and/or
sign extension to 64 bit of all parameters.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: <stable@vger.kernel.org> [v3.10+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/compat.h')
-rw-r--r-- | include/linux/compat.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index c5642b83e02b..19f6003291de 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -422,7 +422,7 @@ extern long compat_arch_ptrace(struct task_struct *child, compat_long_t request, asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, compat_long_t addr, compat_long_t data); -asmlinkage long compat_sys_lookup_dcookie(u32, u32, char __user *, size_t); +asmlinkage long compat_sys_lookup_dcookie(u32, u32, char __user *, compat_size_t); /* * epoll (fs/eventpoll.c) compat bits follow ... */ |