From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yinghai Lu Subject: Re: [PATCH 03/24] x86: Do not free zero sized per cpu areas Date: Fri, 26 Mar 2010 16:49:10 -0700 Message-ID: <4BAD47F6.3000003@kernel.org> References: <1269642114-16588-1-git-send-email-yinghai@kernel.org> <1269642114-16588-4-git-send-email-yinghai@kernel.org> <20100326234203.GD29222@cmpxchg.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20100326234203.GD29222@cmpxchg.org> Sender: linux-kernel-owner@vger.kernel.org To: Johannes Weiner Cc: Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , Andrew Morton , David Miller , Benjamin Herrenschmidt , Linus Torvalds , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Ian Campbell , Peter Zijlstra List-Id: linux-arch.vger.kernel.org On 03/26/2010 04:42 PM, Johannes Weiner wrote: > On Fri, Mar 26, 2010 at 03:21:33PM -0700, Yinghai Lu wrote: >> From: Ian Campbell >> >> This avoids an infinite loop in free_early_partial(). >> >> Add a warning to free_early_partial to catch future problems. >> >> -v5: put back start > end back into WARN_ONCE() >> -v6: use one line for warning according to linus >> -v7: more test by >> >> Signed-off-by: Ian Campbell >> Signed-off-by: Yinghai Lu >> Tested-by: Konrad Rzeszutek Wilk >> Tested-by: Joel Becker >> Tested-by: Stanislaw Gruszka >> Cc: Peter Zijlstra >> Cc: Ingo Molnar >> --- >> kernel/early_res.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/kernel/early_res.c b/kernel/early_res.c >> index 3cb2c66..69bed5b 100644 >> --- a/kernel/early_res.c >> +++ b/kernel/early_res.c >> @@ -333,6 +333,12 @@ void __init free_early_partial(u64 start, u64 end) >> struct early_res *r; >> int i; >> >> + if (start == end) >> + return; >> + >> + if (WARN_ONCE(start > end, "free_early_partial: wrong range [%#llx, %#llx]\n", start, end)) >> + return; > > I think you can drop the function name, it will be in the stack dump > anyway. And that would get the line back into bounds :) > > Other than that, > Acked-by: Johannes Weiner Thanks. is there any chance that dump stack only print out address instead of function name ? BTW, kernel/early_res.c will be replaced by lmb.c Yinghai From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from hera.kernel.org ([140.211.167.34]:35576 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753861Ab0CZXvF (ORCPT ); Fri, 26 Mar 2010 19:51:05 -0400 Message-ID: <4BAD47F6.3000003@kernel.org> Date: Fri, 26 Mar 2010 16:49:10 -0700 From: Yinghai Lu MIME-Version: 1.0 Subject: Re: [PATCH 03/24] x86: Do not free zero sized per cpu areas References: <1269642114-16588-1-git-send-email-yinghai@kernel.org> <1269642114-16588-4-git-send-email-yinghai@kernel.org> <20100326234203.GD29222@cmpxchg.org> In-Reply-To: <20100326234203.GD29222@cmpxchg.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Johannes Weiner Cc: Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , Andrew Morton , David Miller , Benjamin Herrenschmidt , Linus Torvalds , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Ian Campbell , Peter Zijlstra Message-ID: <20100326234910.llkvIDlyLyfCAv_vRLZc3cESLU5GvGWYMEblHxxJoE4@z> On 03/26/2010 04:42 PM, Johannes Weiner wrote: > On Fri, Mar 26, 2010 at 03:21:33PM -0700, Yinghai Lu wrote: >> From: Ian Campbell >> >> This avoids an infinite loop in free_early_partial(). >> >> Add a warning to free_early_partial to catch future problems. >> >> -v5: put back start > end back into WARN_ONCE() >> -v6: use one line for warning according to linus >> -v7: more test by >> >> Signed-off-by: Ian Campbell >> Signed-off-by: Yinghai Lu >> Tested-by: Konrad Rzeszutek Wilk >> Tested-by: Joel Becker >> Tested-by: Stanislaw Gruszka >> Cc: Peter Zijlstra >> Cc: Ingo Molnar >> --- >> kernel/early_res.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/kernel/early_res.c b/kernel/early_res.c >> index 3cb2c66..69bed5b 100644 >> --- a/kernel/early_res.c >> +++ b/kernel/early_res.c >> @@ -333,6 +333,12 @@ void __init free_early_partial(u64 start, u64 end) >> struct early_res *r; >> int i; >> >> + if (start == end) >> + return; >> + >> + if (WARN_ONCE(start > end, "free_early_partial: wrong range [%#llx, %#llx]\n", start, end)) >> + return; > > I think you can drop the function name, it will be in the stack dump > anyway. And that would get the line back into bounds :) > > Other than that, > Acked-by: Johannes Weiner Thanks. is there any chance that dump stack only print out address instead of function name ? BTW, kernel/early_res.c will be replaced by lmb.c Yinghai