From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx1.redhat.com ([209.132.183.28]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Y9VRg-0003WG-At for kexec@lists.infradead.org; Fri, 09 Jan 2015 09:01:29 +0000 Date: Fri, 9 Jan 2015 16:59:27 +0800 From: Baoquan He Subject: Re: [PATCH] kexec/x86: fix crashkernel reserved mem detection Message-ID: <20150109085927.GA8288@dhcp-16-105.nay.redhat.com> References: <1419514701-9397-1-git-send-email-wolchkov.yuri@gmail.com> <54AF74B7.4000807@suse.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <54AF74B7.4000807@suse.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Tony Jones Cc: wolchkov.yuri@gmail.com, horms@verge.net.au, kexec@lists.infradead.org On 01/08/15 at 10:27pm, Tony Jones wrote: > On 12/25/2014 05:38 AM, Yuri Volchkov wrote: > > Function crashkernel_mem_callback had wrong parameters type > > So crash_reserved_mem got completely insane values > > As a result kexec was unable to allocate segments for crashkernel > > For instance, I got this message: > > "Could not find a free area of memory of 0x9f000 bytes..." > > > > Signed-off-by: Yuri Volchkov > > See the patch attached to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771671 > which also fixes kexec/arch/sh/crashdump-sh.c and kexec/arch/sh/kexec-sh.c > > Definitely a problem. Without the x86 fix we seem same failure on i586 Hi Tony, commit 4362bfa make that change, but skip the crashkernel_mem_callback. It need be fixed. I am wondering how the insane values happened on i386, and it didn't happen on x86_64. Thanks Baoquan > > tony > > > --- > > kexec/arch/i386/crashdump-x86.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c > > index 77bdad5..82bf239 100644 > > --- a/kexec/arch/i386/crashdump-x86.c > > +++ b/kexec/arch/i386/crashdump-x86.c > > @@ -1041,8 +1041,8 @@ int get_max_crash_kernel_limit(uint64_t *start, uint64_t *end) > > > > static int crashkernel_mem_callback(void *UNUSED(data), int nr, > > char *UNUSED(str), > > - unsigned long base, > > - unsigned long length) > > + unsigned long long base, > > + unsigned long long length) > > { > > if (nr >= CRASH_RESERVED_MEM_NR) > > return 1; > > > > > _______________________________________________ > 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