[PATCH v2] kdump: fix an error that can not parse the e820 reserved region

Dave Young dyoung at redhat.com
Tue Oct 2 05:10:33 PDT 2018


On 10/02/18 at 02:02pm, Simon Horman wrote:
> On Fri, Sep 07, 2018 at 09:05:50AM +0800, Dave Young wrote:
> > On 09/06/18 at 01:56pm, Lianbo Jiang wrote:
> > > When kexec-tools load the kernel and initramfs for kdump, kexec-tools will
> > > read /proc/iomem and recreate the e820 ranges for kdump kernel. But it fails
> > > to parse the e820 reserved region, because the memcmp() is case sensitive
> > > when comparing the string. In fact, it may be "Reserved" or "reserved" in
> > > the /proc/iomem, so we have to fix these cases.
> > > 
> > > Signed-off-by: Lianbo Jiang <lijiang at redhat.com>
> > > ---
> > >  kexec/arch/i386/crashdump-x86.c | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
> > > index 437e8a8..140f45b 100644
> > > --- a/kexec/arch/i386/crashdump-x86.c
> > > +++ b/kexec/arch/i386/crashdump-x86.c
> > > @@ -289,6 +289,8 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges,
> > >  			type = RANGE_PMEM;
> > >  		} else if(memcmp(str,"reserved\n",9) == 0 ) {
> > >  			type = RANGE_RESERVED;
> > > +		} else if (memcmp(str, "Reserved\n", 9) == 0) {
> > > +			type = RANGE_RESERVED;
> > >  		} else if (memcmp(str, "GART\n", 5) == 0) {
> > >  			gart_start = start;
> > >  			gart_end = end;
> > > -- 
> > > 2.17.1
> > > 
> > > 
> > > _______________________________________________
> > > kexec mailing list
> > > kexec at lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/kexec
> > 
> > Reviewed-by: Dave Young <dyoung at redhat.com>
> 
> Sorry for letting this slip through the cracks.
> I've applied this now.

Simon, thank you!

Dave



More information about the kexec mailing list