OSDN Git Service

microblaze: fix clone syscall
authorMichal Simek <michal.simek@xilinx.com>
Tue, 13 Aug 2013 23:00:53 +0000 (16:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Aug 2013 00:57:48 +0000 (17:57 -0700)
commitdfa9771a7c4784bafd0673bc7abcee3813088b77
tree130ab88dc03c5bc007949e6f98fe39edfccb81f7
parent41bb3476b361ef38576cf9d539b19bae2ac93167
microblaze: fix clone syscall

Fix inadvertent breakage in the clone syscall ABI for Microblaze that
was introduced in commit f3268edbe6fe ("microblaze: switch to generic
fork/vfork/clone").

The Microblaze syscall ABI for clone takes the parent tid address in the
4th argument; the third argument slot is used for the stack size.  The
incorrectly-used CLONE_BACKWARDS type assigned parent tid to the 3rd
slot.

This commit restores the original ABI so that existing userspace libc
code will work correctly.

All kernel versions from v3.8-rc1 were affected.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/Kconfig
arch/microblaze/Kconfig
include/linux/syscalls.h
kernel/fork.c