[PATCH 2/2] makedumpfile: Use max_pfn from mem_map array

Petr Tesarik ptesarik at suse.cz
Mon Mar 31 06:27:45 EDT 2014


On Fri, 28 Mar 2014 17:46:22 +0100
Michael Holzheu <holzheu at linux.vnet.ibm.com> wrote:

> On Fri, 28 Mar 2014 12:00:47 +0100
> Petr Tesarik <ptesarik at suse.cz> wrote:
> 
> > On Thu, 27 Mar 2014 14:54:41 +0100
> > Michael Holzheu <holzheu at linux.vnet.ibm.com> wrote:
> 
> [snip]
> 
> > > > >Here the fixed patch:
> > > > 
> > > > Thanks, I'll merge the fixed version into v1.5.6.
> > > 
> > > Great!
> > 
> > I'm sorry to spoil the party, but this patch broke Xen dumps for me.
> > I'm getting an long series of these messages:
> > 
> > set_bitmap: Can't read the bitmap(/tmp/kdump_bitmap91pbsO). Invalid argument
> > set_bitmap: Can't read the bitmap(/tmp/kdump_bitmap91pbsO). Invalid argument
> > set_bitmap: Can't read the bitmap(/tmp/kdump_bitmap91pbsO). Invalid argument
> > ...
> > 
> > In fact, it most likely broke all non-cyclic dumps.
> > 
> > That's because the bitmap length is calculated in prepare_bitmap_buffer
> > using info->max_mapnr, but create_1st_bitmap() still loops over all
> > PT_LOAD segments, calling set_bit_on_1st_bitmap() for each PFN. The
> > offset may easily fall beyond the bitmap size.
> 
> What about the following patch. It works for me when I specify
> the "--non-cyclic" option.

I'm still getting a bunch of these:

set_bitmap: Can't read the bitmap(/tmp/kdump_bitmap7lSPrl). Invalid
argument

This time they come in like this:

create_2nd_bitmap
-> exclude_free_page
   -> _exclude_free_page
      -> reset_bitmap_of_free_pages
         -> clear_bit_on_2nd_bitmap_for_kernel
            (here, physical PFN is translated to machine PFN)
            -> clear_bit_on_2nd_bitmap

The resulting machine PFN is beyond the bitmap extents.

Petr T



More information about the kexec mailing list