• Jeff Dike's avatar
    [PATCH] uml: x86_64 thread fixes · f355559c
    Jeff Dike authored
    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: default avatarJeff Dike <jdike@addtoit.com>
    Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f355559c
syscalls.c 3.63 KB