在 2018年09月06日 10:30, Dave Young 写道: > Hi Lianbo, > > On 09/05/18 at 09:41pm, 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 use the strncasecmp() instead of the memcmp() to fix >> it. >> >> Signed-off-by: Lianbo Jiang <lijiang@xxxxxxxxxx> >> --- >> kexec/arch/i386/crashdump-x86.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c >> index 437e8a8..6669c1a 100644 >> --- a/kexec/arch/i386/crashdump-x86.c >> +++ b/kexec/arch/i386/crashdump-x86.c >> @@ -287,7 +287,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges, >> type = RANGE_PRAM; >> } else if(memcmp(str,"Persistent Memory\n",18) == 0 ) { >> type = RANGE_PMEM; >> - } else if(memcmp(str,"reserved\n",9) == 0 ) { >> + } else if(strncasecmp(str,"reserved\n",9) == 0 ) { >> type = RANGE_RESERVED; > > It would be better to use two memcmp in two "else if" for "reserved" and "Reserved" > Ok, i will post v2 again later. Thanks. > BTW, add one whitespace before the function arguments. > >> } else if (memcmp(str, "GART\n", 5) == 0) { >> gart_start = start; >> -- >> 2.17.1 >> >> >> _______________________________________________ >> kexec mailing list >> kexec@xxxxxxxxxxxxxxxxxxx >> http://lists.infradead.org/mailman/listinfo/kexec > > Thanks > Dave > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec