Create pid_ns helpers as children of criu main task

Submitted by Kirill Tkhai on June 30, 2017, 5:02 p.m.


Reviewer None
Submitted June 30, 2017, 5:02 p.m.
Last Updated July 15, 2017, 4:42 a.m.
Revision 3

Cover Letter

This patchset makes pid_ns helpers to be childred
of criu main task. The main goal is to make fail
path of restore more stable. Now we kill the helpers
from usernsd, but there is possible a situation,
that someone was killed without releasing of usernsd
mutex. This case, we may never destroy pid_ns helpers
and may hang. Creating them as children of criu main
task decides such problem: we just kill and wait
them directly.

v2: Make the code more compact


Kirill Tkhai (3):
      pid_ns: Extract functionality of exit of pid_ns helper in function
      utils: Add sys_clone_unified()
      ns: Make pid_ns helpers as children of criu main process

 criu/cr-restore.c         |    4 ++++
 criu/include/namespaces.h |    1 +
 criu/include/util.h       |    3 +++
 criu/namespaces.c         |   49 ++++++++++++++-------------------------------
 criu/util.c               |   25 ++++++++++++++---------
 test/zdtm/lib/test.c      |   23 +++++++++++++--------
 6 files changed, 52 insertions(+), 53 deletions(-)

Signed-off-by: Kirill Tkhai <>