From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sukadev Bhattiprolu Subject: [PATCH 4/6] Deny external checkpoint unless task is frozen Date: Tue, 17 Mar 2009 10:50:34 -0700 Message-ID: <20090317175034.GE10796@us.ibm.com> References: <20090317174359.GA10796@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20090317174359.GA10796-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: "David C. Hansen" Cc: Containers List-Id: containers.vger.kernel.org From: Sukadev Bhattiprolu Date: Thu, 12 Mar 2009 14:20:02 -0700 Subject: [PATCH 4/6] Deny external checkpoint unless task is frozen Remove a 'FIXME' and ensure that the tasks we are checkpointing are frozen unless its a self-checkpoint. Signed-off-by: Sukadev Bhattiprolu --- checkpoint/checkpoint.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/checkpoint/checkpoint.c b/checkpoint/checkpoint.c index dae9b97..c16f30c 100644 --- a/checkpoint/checkpoint.c +++ b/checkpoint/checkpoint.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -275,7 +276,9 @@ static int cr_may_checkpoint_task(struct task_struct *t, struct cr_ctx *ctx) if (!ptrace_may_access(t, PTRACE_MODE_READ)) return -EPERM; - /* FIXME: verify that the task is frozen (unless self) */ + /* verify that the task is frozen (unless self) */ + if (t != current && !frozen(t)) + return -EBUSY; /* FIXME: change this for nested containers */ if (task_nsproxy(t) != ctx->root_nsproxy) -- 1.5.2.5