From: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> 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 <sukadev@xxxxxxxxxxxxxxxxxx> --- 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 <linux/mount.h> #include <linux/utsname.h> #include <linux/magic.h> +#include <linux/freezer.h> #include <linux/checkpoint.h> #include <linux/checkpoint_hdr.h> @@ -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 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers