mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dave Hansen <hansendc@us.ibm.com>
To: Mark Pflueger <pflueger@informatik.tu-muenchen.de>
Cc: linux-kernel@vger.kernel.org, Containers <containers@lists.osdl.org>
Subject: Re: checkpointing and restoring processes
Date: Wed, 06 Jun 2007 08:27:31 -0700	[thread overview]
Message-ID: <1181143652.22388.74.camel@spirit.sr71.net> (raw)
In-Reply-To: <Pine.GSO.4.64.0706061318010.16173@rayhalle1>

On Wed, 2007-06-06 at 13:37 +0200, Mark Pflueger wrote:
> hi everyone!
> 
> i'm not subscribed to the list, so if you care to flame because of my noob 
> question, just do it to the list, otherwise please cc me.
> 
> i'm trying to write a checkpoint/restore module for processes and so have 
> a basic version going already - problem is, when i restore the process, 
> one of three things happens at random. first is, the process restored 
> segfaults. second is, i get a kernel null pointer dereference and third 
> is, i get a virtual address lookup error and a kernel crash. the trace 
> back and the address always change.

Your patch definitely takes a simple, straightforward approach, which is
good.  But, there are a couple of things that need to get added.

For instance, when you make a copy of tsk->mm, what happens if that
original task exits?  It will drop its reference count and free that
task, along with the mm.  The new task will fault on its access to
newtsk->mm because the mm has gone away.

Also, just setting tsk->pid is not enough to get the pid to show up in
the system.  It needs to make sure no other task has that pid as well as
making entries in data structures like the pid allocation map.  

In any case, it's nice to have other people interested in the same
things!  As Cedric suggested, please pop over to
containers@lists.linux-foundation.org.  There are at least two other
efforts, besides ours working toward the same goal, so you'll have lots
of comrades there. ;)

-- Dave


      parent reply	other threads:[~2007-06-06 15:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-06 11:37 Mark Pflueger
2007-06-06 12:48 ` Cedric Le Goater
2007-06-06 14:44   ` Serge E. Hallyn
2007-06-06 15:27 ` Dave Hansen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1181143652.22388.74.camel@spirit.sr71.net \
    --to=hansendc@us.ibm.com \
    --cc=containers@lists.osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pflueger@informatik.tu-muenchen.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®