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

Commit 9436d5c3 authored by Al Viro's avatar Al Viro
Browse files

um: get_safe_registers() should be done in flush_thread(), not start_thread()



... or we'll end up buggering the results of ELF_PLAT_INIT()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 9489e9dc
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -32,13 +32,14 @@ void flush_thread(void)
		       "err = %d\n", ret);
		force_sig(SIGKILL, current);
	}
	get_safe_registers(current_pt_regs()->regs.gp,
			   current_pt_regs()->regs.fp);

	__switch_mm(&current->mm->context.id);
}

void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
{
	get_safe_registers(regs->regs.gp, regs->regs.fp);
	PT_REGS_IP(regs) = eip;
	PT_REGS_SP(regs) = esp;
	current->ptrace &= ~PT_DTRACE;