• Bodo Stroesser's avatar
    [PATCH] uml: Proper clone support for skas0 · 9786a8f3
    Bodo Stroesser authored
    This patch implements the clone-stub mechanism, which allows skas0 to run
    with proc_mm==0, even if the clib in UML uses modify_ldt.
    
    Note: There is a bug in skas3.v7 host patch, that avoids UML-skas from
    running properly on a SMP-box.  In full skas3, I never really saw problems,
    but in skas0 they showed up.
    
    More commentary by jdike - What this patch does is makes sure that the host
    parent of each new host process matches the UML parent of the corresponding
    UML process.  This ensures that any changed LDTs are inherited.  This is
    done by having clone actually called by the UML process from its stub,
    rather than by the kernel.  We have special syscall stubs that are loaded
    onto the stub code page because that code must be completely
    self-contained.  These stubs are given C interfaces, and used like normal C
    functions, but there are subtleties.  Principally, we have to be careful
    about stack variables in stub_clone_handler after the clone.  The code is
    written so that there aren't any - everything boils down to a fixed
    address.  If there were any locals, references to them after the clone
    would be wrong because the stack just changed.
    Signed-off-by: default avatarBodo Stroesser <bstroesser@fujitsu-siemens.com>
    Signed-off-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>
    9786a8f3
skas.h 1.88 KB