[CRIU] [PATCH 0/8] Unmap restorer blobs after restoring processes (v2)

Andrey Vagin avagin at openvz.org
Fri Sep 13 05:53:37 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.

v2: Don't use software breakpoints
    Clean up here and there

Andrey Vagin (8):
  restore: get real pid for each task
  parasite: stop task on exit from a specified syscall
  parasite: allow to wait more than one process on the exit from 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 (v2)
  restorer: unmap itself
  parasite: unmap itself

 cr-restore.c               | 124 +++++++++++++++++++++++++++++++++--
 files.c                    |   1 +
 include/crtools.h          |   5 +-
 include/parasite-syscall.h |   3 +
 include/parasite.h         |   6 ++
 include/restorer.h         |   3 +
 parasite-syscall.c         | 156 ++++++++++++++++++++++++++++++++++-----------
 pie/parasite.c             |  12 ++++
 pie/restorer.c             |  10 +++
 9 files changed, 276 insertions(+), 44 deletions(-)

--
1.8.3.1



More information about the CRIU mailing list