mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ia64: panic if topology_init kzalloc fails
@ 2006-08-01  4:14 Paul Jackson
  0 siblings, 0 replies; only message in thread
From: Paul Jackson @ 2006-08-01  4:14 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Tony Luck, Jack Steiner, Paul Jackson, linux-kernel, Dan Higgins

From: Paul Jackson <pj@sgi.com>

There really is no sense trying to continue if the kzalloc of
sysfs_cpus[] fails in ia64 topology_init.  The code calling
into here doesn't check errors very well, and one ends up with
a nonobvious boot failure that wastes peoples time debugging.

See for example the lkml thread at:
  http://lkml.org/lkml/2006/3/2/215

Since the system is totally dead when this kzalloc fails, not
having yet even booted, might as well announce one's death
boldly and plainly.

Signed-off-by: Paul Jackson <pj@sgi.com>

---

 arch/ia64/kernel/topology.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

--- 2.6.18-rc2-mm1.orig/arch/ia64/kernel/topology.c	2006-07-31 17:18:04.921717318 -0700
+++ 2.6.18-rc2-mm1/arch/ia64/kernel/topology.c	2006-07-31 21:12:08.950508732 -0700
@@ -67,10 +67,8 @@ static int __init topology_init(void)
 #endif
 
 	sysfs_cpus = kzalloc(sizeof(struct ia64_cpu) * NR_CPUS, GFP_KERNEL);
-	if (!sysfs_cpus) {
-		err = -ENOMEM;
-		goto out;
-	}
+	if (!sysfs_cpus)
+		panic("kzalloc in topology_init failed - NR_CPUS too big?");
 
 	for_each_present_cpu(i) {
 		if((err = arch_register_cpu(i)))

-- 
                          I won't rest till it's the best ...
                          Programmer, Linux Scalability
                          Paul Jackson <pj@sgi.com> 1.650.933.1373

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-08-01  4:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-01  4:14 [PATCH] ia64: panic if topology_init kzalloc fails Paul Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome