summaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-01-20 04:13:34 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2013-01-20 04:13:34 +0100
commitb1e0318b8cd4bdbb0fbc48967b0350483ad9bd69 (patch)
treec8c0eda42707c639c67c471abbc0bca6f64213d2 /kernel/fork.c
parentmake sure that /linuxrc has std{in,out,err} (diff)
downloadlinux-b1e0318b8cd4bdbb0fbc48967b0350483ad9bd69.tar.xz
linux-b1e0318b8cd4bdbb0fbc48967b0350483ad9bd69.zip
sys_clone() needs asmlinkage_protect
Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to '')
-rw-r--r--kernel/fork.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index a31b823b3c2d..e05cff2429b5 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1660,8 +1660,10 @@ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
int, tls_val)
#endif
{
- return do_fork(clone_flags, newsp, 0,
- parent_tidptr, child_tidptr);
+ long ret = do_fork(clone_flags, newsp, 0, parent_tidptr, child_tidptr);
+ asmlinkage_protect(5, ret, clone_flags, newsp,
+ parent_tidptr, child_tidptr, tls_val);
+ return ret;
}
#endif