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

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
...@@ -32,13 +32,14 @@ void flush_thread(void) ...@@ -32,13 +32,14 @@ void flush_thread(void)
"err = %d\n", ret); "err = %d\n", ret);
force_sig(SIGKILL, current); force_sig(SIGKILL, current);
} }
get_safe_registers(current_pt_regs()->regs.gp,
current_pt_regs()->regs.fp);
__switch_mm(&current->mm->context.id); __switch_mm(&current->mm->context.id);
} }
void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp) 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_IP(regs) = eip;
PT_REGS_SP(regs) = esp; PT_REGS_SP(regs) = esp;
current->ptrace &= ~PT_DTRACE; current->ptrace &= ~PT_DTRACE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment