From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sukadev Bhattiprolu Subject: [PATCH] Deny external checkpoint unless frozen Date: Sat, 21 Feb 2009 12:13:17 -0800 Message-ID: <20090221201317.GB13532@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline 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: Oren Laadan Cc: Containers , "David C. Hansen" List-Id: containers.vger.kernel.org From: Sukadev Bhattiprolu Date: Sat, 21 Feb 2009 11:17:07 -0800 Subject: [PATCH] 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 2bbb409..023bd9d 100644 --- a/checkpoint/checkpoint.c +++ b/checkpoint/checkpoint.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -280,7 +281,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