[Devel] Re: [PATCH 1/1] don't call pre_restore_task twice
Matt Helsley
matthltc at us.ibm.com
Thu Oct 8 11:49:30 PDT 2009
On Thu, Oct 08, 2009 at 09:12:58AM -0500, Serge E. Hallyn wrote:
> Quoting Matt Helsley (matthltc at us.ibm.com):
> > On Wed, Oct 07, 2009 at 06:47:50PM -0500, Serge E. Hallyn wrote:
<snip>
> > void post_restore_task()
> > {
> > sigprocmask(SIG_SETMASK, ¤t->checkpoint_data->blocked, NULL);
> > ...
> > }
> >
> > then in do_restore_coord():
> >
> > if (ctx->uflags & RESTART_TASKSELF) {
> > ret = pre_restore_task();
> > ckpt_debug("pre restore task: %d\n", ret);
> > if (ret < 0)
> > goto out;
> > ...
> > out:
> > if (ctx->uflags & RESTART_TASKSELF)
> > post_restore_task();
> >
> > But if we got -ENOMEM from pre_restore_task() then I think there will be a
> > NULL dereference.
>
> But the very first thing post_restore_task() does is
>
> /* can happen if restart failed early */
> if (!current->checkpoint_data)
> return;
Ah, good. That's a fairly recent change so it wasn't in my git tree. Looks
like it was added Oct 3rd by:
commit: bb091acbf0a47bd61323322a4e0a784d1ee0c24f
"c/r: threads sync on restart (fix regression from commit afbe522c...)"
Cheers,
-Matt Helsley
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list