summaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-01-19 22:13:34 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-01-19 22:13:34 -0500
commitb1e0318b8cd4bdbb0fbc48967b0350483ad9bd69 (patch)
treec8c0eda42707c639c67c471abbc0bca6f64213d2 /kernel/fork.c
parent43b16820249396aea7eb57c747106e211e54bed5 (diff)
downloadlinux-b1e0318b8cd4bdbb0fbc48967b0350483ad9bd69.tar.bz2
sys_clone() needs asmlinkage_protect
Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/fork.c')
-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