On Thu, Oct 08, 2009 at 09:12:58AM -0500, Serge E. Hallyn wrote: > Quoting Matt Helsley (matthltc@xxxxxxxxxx): > > 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@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers