[Crash-utility] [patch] Crash-Utility: ppc64: Fix a crash issue where it fails to read vmcore generated by post-v2.6.34 kernel version.

Dave Anderson anderson at redhat.com
Fri Sep 16 14:00:20 UTC 2011



----- Original Message -----
> On 2011-09-15 10:39:12 Thu, Dave Anderson wrote:
... [ cut ] ...
> > So your patch effectively reverts it for the newer kernels. Since 2.6.36 kernels
> > have the cpu_possible_mask, I think you should still apply the "case POSSIBLE"
> > logic above somewhere, correct?
> 
> Hi Dave,
... [ cut ] ...
> However, Any change in generic code in the future would trigger the issue you
> are talking about. Hence, I have modified the patch (see below) to split the
> ppc64_paca_init function and separate out the paca handling from code that
> gathers cpu map info. Now, we only ignore the paca handling and still
> gather the cpu map info for newer kernels. Let me know your comments on
> this.

Hi Mahesh,

Just a couple minor points that were caught by "make warn":

  cc -c -g -DPPC64 -m64  ppc64.c -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -fstack-protector 
  ppc64.c: In function 'ppc64_paca_init':
  ppc64.c:2628: warning: 'return' with no value, in function returning non-void
  ppc64.c: At top level:
  ppc64.c:2665: warning: function declaration isn't a prototype

Line 2665 just needed a void in the declaration:

  +static int
  +ppc64_get_cpu_map()

For line 2628, I changed this highly unlikely event to return kt->cpus, 
which is actually an improvement over the old code because with
your patch, it will continue on to check the online/possible 
cpus issue:

        if (!MEMBER_EXISTS("paca_struct", "data_offset"))
                return kt->cpus;

With those two changes, the patch is queued for crash-5.1.8.

Thanks,
  Dave




More information about the Crash-utility mailing list