From cae94b76f17412a7abb44ec2b52d45c62875b9ed Mon Sep 17 00:00:00 2001 From: Stanislav Kinsburskiy Date: Wed, 27 Jan 2016 15:04:12 +0300 Subject: [PATCH] cr-restore: restore root sid before mount namespace This is a precursor patch for AutoFS mount restore. To restore AutoFS indirect mount points, we have to create mount point dentries. This can do only the process with pgrp, configured to mount. Process, which does AutoFS mount call (init) at that moment is not. Restoring actual pgrp before sid breaks sid restoring. Thus, restoring of sid is required to make process group leader. Signed-off-by: Stanislav Kinsburskiy Signed-off-by: Pavel Emelyanov --- cr-restore.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cr-restore.c b/cr-restore.c index 973f06e60..3254efc3f 100644 --- a/cr-restore.c +++ b/cr-restore.c @@ -1482,7 +1482,8 @@ static int create_children_and_session(void) return ret; } - restore_sid(); + if (current->parent) + restore_sid(); pr_info("Restoring children in our session:\n"); list_for_each_entry(child, ¤t->children, sibling) { @@ -1565,6 +1566,9 @@ static int restore_task_with_children(void *_arg) if (restore_finish_stage(CR_STATE_RESTORE_NS) < 0) goto err; + pr_info("Calling restore_sid() for init\n"); + restore_sid(); + /* * We need non /proc proc mount for restoring pid and mount * namespaces and do not care for the rest of the cases.