• Cyrill Gorcunov's avatar
    c/r: prctl: extend PR_SET_MM to set up more mm_struct entries · fe8c7f5c
    Cyrill Gorcunov authored
    During checkpoint we dump whole process memory to a file and the dump
    includes process stack memory.  But among stack data itself, the stack
    carries additional parameters such as command line arguments, environment
    data and auxiliary vector.
    
    So when we do restore procedure and once we've restored stack data itself
    we need to setup mm_struct::arg_start/end, env_start/end, so restored
    process would be able to find command line arguments and environment data
    it had at checkpoint time.  The same applies to auxiliary vector.
    
    For this reason additional PR_SET_MM_(ARG_START | ARG_END | ENV_START |
    ENV_END | AUXV) codes are introduced.
    Signed-off-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
    Acked-by: default avatarKees Cook <keescook@chromium.org>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Andrew Vagin <avagin@openvz.org>
    Cc: Serge Hallyn <serge.hallyn@canonical.com>
    Cc: Pavel Emelyanov <xemul@parallels.com>
    Cc: Vasiliy Kulikov <segoon@openwall.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    fe8c7f5c
sys.c 50.6 KB