[PATCH] uml: x86_64 thread fixes
x86_64 needs some TLS fixes. What was missing was remembering the child thread id during clone and stuffing it into the child during each context switch. The %fs value is stored separately in the thread structure since the host controls what effect it has on the actual register file. The host also needs to store it in its own thread struct, so we need the value kept outside the register file. arch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately. There is some saving and restoring of registers in the ARCH_SET_* cases so that the correct set of registers are changed on the host and restored to the process when it runs again. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Linus Torvalds

vecāks
3a150e1da8
revīzija
f355559cf7
@@ -340,4 +340,6 @@ extern void maybe_sigio_broken(int fd, int read);
|
||||
extern void sig_handler_common_skas(int sig, void *sc_ptr);
|
||||
extern void user_signal(int sig, union uml_pt_regs *regs, int pid);
|
||||
|
||||
extern int os_arch_prctl(int pid, int code, unsigned long *addr);
|
||||
|
||||
#endif
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user