[CRIU] [RFC][PATCH 0/9] Unmap restorer blobs after restoring processes

Andrey Vagin avagin at openvz.org
Thu Sep 12 09:24:32 EDT 2013


The same way is used for unmaping restorer and parasite blobs.

The code for unmaping is saved on the target blob and the process
is trapped on the exit from the munmap syscall.

The main profit is that we don't need to inject code in a process memory.
In addition we don't need to collect process vma-s to find a place
for injecting code.

Andrey Vagin (9):
  restore: allocate pstree items from a shared pool
  restore: get real pid for each task
  util: remove unused the service fd constant
  parasite: stop task on exit from a specified syscall
  parasite: add simplified version of parasite_prep_ctl
  parasite: add a function for unmaping bootstrap blob
  restore: catch task on the exit from sigreturn
  restorer: unmap itself
  parasite: unmap itself

 cr-restore.c               | 144 ++++++++++++++++++++++++++++++++++++++--
 files.c                    |   1 +
 include/crtools.h          |   4 +-
 include/parasite-syscall.h |   3 +
 include/parasite.h         |   6 ++
 include/restorer.h         |   3 +
 parasite-syscall.c         | 161 ++++++++++++++++++++++++++++++++++-----------
 pie/parasite.c             |  12 ++++
 pie/restorer.c             |  11 ++++
 pstree.c                   |   7 +-
 10 files changed, 307 insertions(+), 45 deletions(-)

-- 
1.8.3.1



More information about the CRIU mailing list