• Paolo 'Blaisorblade' Giarrusso's avatar
    [PATCH] uml: implement {get,set}_thread_area for i386 · aa6758d4
    Paolo 'Blaisorblade' Giarrusso authored
    Implement sys_[gs]et_thread_area and the corresponding ptrace operations for
    UML.  This is the main chunk, additional parts follow.  This implementation is
    now well tested and has run reliably for some time, and we've understood all
    the previously existing problems.
    
    Their implementation saves the new GDT content and then forwards the call to
    the host when appropriate, i.e.  immediately when the target process is
    running or on context switch otherwise (i.e.  on fork and on ptrace() calls).
    
    In SKAS mode, we must switch registers on each context switch (because SKAS
    does not switches tls_array together with current->mm).
    
    Also, added get_cpu() locking; this has been done for SKAS mode, since TT does
    not need it (it does not use smp_processor_id()).
    Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Acked-by: default avatarJeff Dike <jdike@addtoit.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    aa6758d4
syscalls.c 4.91 KB