Re: [PATCH v2] kdump: fix an error that can not parse the e820 reserved region
在 2018年10月02日 20:02, Simon Horman 写道: > 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 >>> --- >>> 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@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/kexec >> >> Reviewed-by: Dave Young > > Sorry for letting this slip through the cracks. > I've applied this now. > Thank you, Simon and Dave. > ___ > kexec mailing list > kexec@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec > ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH v2] kdump: fix an error that can not parse the e820 reserved region
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 > > > --- > > > 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@lists.infradead.org > > > http://lists.infradead.org/mailman/listinfo/kexec > > > > Reviewed-by: Dave Young > > Sorry for letting this slip through the cracks. > I've applied this now. Simon, thank you! Dave ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH v2] kdump: fix an error that can not parse the e820 reserved region
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 > > --- > > 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@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/kexec > > Reviewed-by: Dave Young Sorry for letting this slip through the cracks. I've applied this now. ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH v2] kdump: fix an error that can not parse the e820 reserved region
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 > --- > 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@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec Reviewed-by: Dave Young Thanks Dave ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
[PATCH v2] kdump: fix an error that can not parse the e820 reserved region
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 --- 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec