Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64b3122d authored by Al Viro's avatar Al Viro
Browse files

mips: take the "zero newsp means inherit the parent's one" to copy_thread()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 974fdb3c
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -289,8 +289,6 @@ _sys32_clone(nabi_no_regargs struct pt_regs regs)

	clone_flags = regs.regs[4];
	newsp = regs.regs[5];
	if (!newsp)
		newsp = regs.regs[29];
	parent_tidptr = (int __user *) regs.regs[6];

	/* Use __dummy4 instead of getting it off the stack, so that
+2 −1
Original line number Diff line number Diff line
@@ -156,6 +156,7 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
	*childregs = *regs;
	childregs->regs[7] = 0;	/* Clear error flag */
	childregs->regs[2] = 0;	/* Child gets zero as return value */
	if (usp)
		childregs->regs[29] = usp;
	ti->addr_limit = USER_DS;

+1 −3
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ save_static_function(sys_fork);
static int __used noinline
_sys_fork(nabi_no_regargs struct pt_regs regs)
{
	return do_fork(SIGCHLD, regs.regs[29], 0, NULL, NULL);
	return do_fork(SIGCHLD, 0, 0, NULL, NULL);
}

save_static_function(sys_clone);
@@ -99,8 +99,6 @@ _sys_clone(nabi_no_regargs struct pt_regs regs)

	clone_flags = regs.regs[4];
	newsp = regs.regs[5];
	if (!newsp)
		newsp = regs.regs[29];
	parent_tidptr = (int __user *) regs.regs[6];
#ifdef CONFIG_32BIT
	/* We need to fetch the fifth argument off the stack.  */