[PATCH] kexec: set prstatus.pr_pid to cpu id when current->pid is 0

Simon Horman horms at verge.net.au
Tue Aug 3 04:36:48 EDT 2010

On Tue, Aug 03, 2010 at 01:15:04AM -0700, Eric W. Biederman wrote:
> Hui Zhu <teawater at gmail.com> writes:
> > On Tue, Aug 3, 2010 at 15:37, Eric W. Biederman <ebiederm at xmission.com> wrote:
> >> Hui Zhu <teawater at gmail.com> writes:
> >>
> >
> > Equal 0 is not a bug, the trouble is a lot of core's pid is same.
> >
> > This is what gdb say:
> > /* Found an old thread with the same id.  It has to be dead,
> >        otherwise we wouldn't be adding a new thread with the same id.
> >        The OS is reusing this id --- delete it, and recreate a new
> >        one.  */
> gdb bug compatibility is not a primary goal.  Having an extensible
> format and not inventing it totally out of the blue is the goal.
> The goal was always that something could post process the output of
> the kernel crashdump and create something that is gdb compatible.  It
> looks to me like it would take just a moment to strip out all of the
> idle threads.
> Claiming the pid is the cpu number when the pid is the idle pid gives
> you no insulation against duplication, and it looses information.

Agreed, there clearly an ambiguity brought in by this patch as the range
of valid values for pids and cpus is essentially the same.

Doing this in user-space is the right place, though I'm not really
convinced its even correct there.

More information about the kexec mailing list