All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Yinghai Lu <yinghai@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [LKML] Re: Infinite loop on boot in free_early_partial due to start==end on tip/master
Date: Fri, 19 Mar 2010 16:04:09 -0400	[thread overview]
Message-ID: <20100319200409.GE31908@phenom.dumpdata.com> (raw)
In-Reply-To: <1269027289.23584.0.camel@localhost.localdomain>

On Fri, Mar 19, 2010 at 07:34:49PM +0000, Ian Campbell wrote:
> On Fri, 2010-03-19 at 19:04 +0000, Yinghai Lu wrote: 
> > On 03/19/2010 11:28 AM, Konrad Rzeszutek Wilk wrote:
> > >> Subject: x86: do not free zero sized per cpu areas
> > >>
> > >> This avoids an infinite loop in free_early_partial().
> > > 
> > > The patch fixed PV guests booting on Xen. I've added my
> > > Tested-by .. Please merge it in the release.
> > > 
> > > Thanks!
> > >>
> > >> Add a warning to free_early_partial to catch future problems.
> > >>
> > >> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > > 
> > > Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > 
> > please check update version...
> > 
> > please check if this patch help...
> > 
> > http://patchwork.kernel.org/patch/83832/
> 
> Sorry Konrad, looks like I directed you to an older version of the patch
> by mistake.

Np. I tested this one and it worked succesfully.

Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

index ef6370b..89a3205 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -140,7 +140,8 @@  static void __init pcpu_fc_free(void *ptr, size_t
size)
 #ifdef CONFIG_NO_BOOTMEM
 	u64 start = __pa(ptr);
 	u64 end = start + size;
-	free_early_partial(start, end);
+	if (start < end)
+		free_early_partial(start, end);
 #else
 	free_bootmem(__pa(ptr), size);
 #endif
diff --git a/kernel/early_res.c b/kernel/early_res.c
index 3cb2c66..f3a861b 100644
--- a/kernel/early_res.c
+++ b/kernel/early_res.c
@@ -333,6 +333,11 @@  void __init free_early_partial(u64 start, u64 end)
 	struct early_res *r;
 	int i;
 
+	if (WARN_ONCE(start >= end,
+		      "free_early_partial got wrong start/end
%#llx/%#llx\n",
+		      start, end))
+		return;
+
 try_next:
 	i = find_overlapped_early(start, end);
 	if (i >= max_early_res)

> 
> Ian.
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  reply	other threads:[~2010-03-19 20:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-05 15:03 Infinite loop on boot in free_early_partial due to start==end on tip/master Ian Campbell
2010-03-05 18:16 ` Yinghai Lu
2010-03-05 19:45   ` Ian Campbell
2010-03-05 19:49   ` [PATCH] x86: do not free zero sized per cpu areas Ian Campbell
2010-03-05 19:51     ` Yinghai Lu
2010-03-19 19:24   ` Yinghai Lu
2010-03-19 21:42     ` H. Peter Anvin
2010-03-19 22:18   ` [PATCH -v3] " Yinghai Lu
2010-03-19 22:21     ` H. Peter Anvin
2010-03-19 23:24       ` Yinghai Lu
2010-03-19 23:29         ` H. Peter Anvin
2010-03-19 23:45           ` [PATCH -v4] " Yinghai Lu
2010-03-20  1:00             ` Linus Torvalds
2010-03-20  1:59               ` [PATCH -v5] " Yinghai Lu
2010-03-20  2:41                 ` Linus Torvalds
2010-03-20  6:38                   ` [PATCH -v6] " Yinghai Lu
2010-03-20  7:12                     ` Ian Campbell
2010-03-22 17:30                     ` [LKML] " Konrad Rzeszutek Wilk
2010-03-19 23:35         ` [PATCH -v3] " Ian Campbell
2010-03-19 23:43           ` Ian Campbell
2010-03-19 23:43           ` H. Peter Anvin
2010-03-19 18:28 ` Infinite loop on boot in free_early_partial due to start==end on tip/master Konrad Rzeszutek Wilk
2010-03-19 19:04   ` Yinghai Lu
2010-03-19 19:34     ` Ian Campbell
2010-03-19 20:04       ` Konrad Rzeszutek Wilk [this message]
2010-03-19 21:17         ` [LKML] " Yinghai Lu
2010-03-19 21:37           ` Ian Campbell
2010-03-20  3:37           ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100319200409.GE31908@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.