All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Krafft <krafft@de.ibm.com>
To: Christian Krafft <krafft@de.ibm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [patch 2/2] enables booting a NUMA system where some nodes have no memory
Date: Wed, 15 Nov 2006 19:34:37 +0100	[thread overview]
Message-ID: <20061115193437.25cdc371@localhost> (raw)
In-Reply-To: <20061115193049.3457b44c@localhost>

When booting a NUMA system with nodes that have no memory (eg by limiting memory),
bootmem_alloc_core tried to find pages in an uninitialized bootmem_map.
This caused a null pointer access.
This fix adds a check, so that NULL is returned.
That will enable the caller (bootmem_alloc_nopanic)
to alloc memory on other without a panic.

Signed-off-by: Christian Krafft <krafft@de.ibm.com>

Index: linux/mm/bootmem.c
===================================================================
--- linux.orig/mm/bootmem.c
+++ linux/mm/bootmem.c
@@ -196,6 +196,10 @@ __alloc_bootmem_core(struct bootmem_data
 	if (limit && bdata->node_boot_start >= limit)
 		return NULL;
 
+	/* on nodes without memory - bootmem_map is NULL */
+	if(!bdata->node_bootmem_map)
+		return NULL;
+
 	end_pfn = bdata->node_low_pfn;
 	limit = PFN_DOWN(limit);
 	if (limit && end_pfn > limit)

WARNING: multiple messages have this Message-ID (diff)
From: Christian Krafft <krafft@de.ibm.com>
To: Christian Krafft <krafft@de.ibm.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [patch 2/2] enables booting a NUMA system where some nodes have no memory
Date: Wed, 15 Nov 2006 19:34:37 +0100	[thread overview]
Message-ID: <20061115193437.25cdc371@localhost> (raw)
In-Reply-To: <20061115193049.3457b44c@localhost>

When booting a NUMA system with nodes that have no memory (eg by limiting memory),
bootmem_alloc_core tried to find pages in an uninitialized bootmem_map.
This caused a null pointer access.
This fix adds a check, so that NULL is returned.
That will enable the caller (bootmem_alloc_nopanic)
to alloc memory on other without a panic.

Signed-off-by: Christian Krafft <krafft@de.ibm.com>

Index: linux/mm/bootmem.c
===================================================================
--- linux.orig/mm/bootmem.c
+++ linux/mm/bootmem.c
@@ -196,6 +196,10 @@ __alloc_bootmem_core(struct bootmem_data
 	if (limit && bdata->node_boot_start >= limit)
 		return NULL;
 
+	/* on nodes without memory - bootmem_map is NULL */
+	if(!bdata->node_bootmem_map)
+		return NULL;
+
 	end_pfn = bdata->node_low_pfn;
 	limit = PFN_DOWN(limit);
 	if (limit && end_pfn > limit)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2006-11-15 18:37 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-15 18:30 [patch 0/2] fix bugs while booting on NUMA system where some nodes have no mem Christian Krafft
2006-11-15 18:30 ` Christian Krafft
2006-11-15 18:32 ` [patch 1/2] fix call to alloc_bootmem after bootmem has been freed Christian Krafft
2006-11-15 18:32   ` Christian Krafft
2006-11-21 16:55   ` Andrew Morton
2006-11-21 16:55     ` Andrew Morton
2006-11-21 18:02     ` Christian Krafft
2006-11-21 18:26       ` Andrew Morton
2006-11-21 18:26         ` Andrew Morton
2006-11-22  9:23         ` Arnd Bergmann
2006-11-22  9:23           ` Arnd Bergmann
2006-11-15 18:34 ` Christian Krafft [this message]
2006-11-15 18:34   ` [patch 2/2] enables booting a NUMA system where some nodes have no memory Christian Krafft
2006-11-15 21:24   ` Christoph Lameter
2006-11-15 21:24     ` Christoph Lameter
2006-11-15 21:58     ` Jack Steiner
2006-11-15 21:58       ` Jack Steiner
2006-11-15 22:40       ` Christoph Lameter
2006-11-15 22:40         ` Christoph Lameter
2006-11-15 22:43         ` Martin Bligh
2006-11-15 22:43           ` Martin Bligh
2006-11-15 22:52           ` Christoph Lameter
2006-11-15 22:52             ` Christoph Lameter
2006-11-16  0:54             ` KAMEZAWA Hiroyuki
2006-11-16  0:54               ` KAMEZAWA Hiroyuki
2006-11-16  0:57               ` Christoph Lameter
2006-11-16  0:57                 ` Christoph Lameter
2006-11-16  1:17                 ` KAMEZAWA Hiroyuki
2006-11-16  1:17                   ` KAMEZAWA Hiroyuki
2006-11-16 15:40                 ` Christian Krafft
2006-11-16 15:49                   ` Martin J. Bligh
2006-11-16 15:49                     ` Martin J. Bligh
2006-11-16 18:46                   ` Christoph Lameter
2006-11-16 18:46                     ` Christoph Lameter
2006-11-16  2:01             ` Martin Bligh
2006-11-16  2:01               ` Martin Bligh
2006-11-16  1:35         ` Jack Steiner
2006-11-16  1:35           ` Jack Steiner
2006-11-16  1:57           ` Christoph Lameter
2006-11-16  1:57             ` Christoph Lameter
2006-11-16  2:09             ` Martin Bligh
2006-11-16  2:09               ` Martin Bligh
2006-11-16  2:35               ` Christoph Lameter
2006-11-16  2:35                 ` Christoph Lameter
2006-11-16  3:28             ` Jack Steiner
2006-11-16  3:28               ` Jack Steiner
2006-11-15 22:05     ` Martin Bligh
2006-11-15 22:05       ` Martin Bligh
2006-11-15 22:41       ` Christoph Lameter
2006-11-15 22:41         ` Christoph Lameter
2006-11-15 22:46         ` Martin Bligh
2006-11-15 22:46           ` Martin Bligh
2006-11-15 22:51           ` Christoph Lameter
2006-11-15 22:51             ` Christoph Lameter
2006-11-16  0:59             ` KAMEZAWA Hiroyuki
2006-11-16  0:59               ` KAMEZAWA Hiroyuki
2006-11-16  1:22               ` Yasunori Goto
2006-11-16  1:22                 ` Yasunori Goto
2006-11-16  0:26         ` Arnd Bergmann
2006-11-16  0:26           ` Arnd Bergmann
2006-11-16  0:45           ` Christoph Lameter
2006-11-16  0:45             ` Christoph Lameter
2006-11-16 13:08             ` Arnd Bergmann
2006-11-16 13:08               ` Arnd Bergmann
2006-11-16  0:44         ` Jesper Juhl
2006-11-16  0:44           ` Jesper Juhl
2006-11-16  0:46           ` Christoph Lameter
2006-11-16  0:46             ` Christoph Lameter
2006-11-16 15:21         ` Lee Schermerhorn
2006-11-16 15:21           ` Lee Schermerhorn

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=20061115193437.25cdc371@localhost \
    --to=krafft@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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.