Skip to contentSkip to conversation

ia64: panic if topology_init kzalloc fails

PATCH New Paul Jackson 1 participant 1 message Aug 1, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ia64: panic if topology_init kzalloc fails

From: Paul Jackson <[email protected]>

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.

---

 arch/ia64/kernel/topology.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
arch/ia64/kernel/topology.c +2 -4
@@ -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)))
Signature · 3 lines
                          I won't rest till it's the best ...
                          Programmer, Linux Scalability
                          Paul Jackson <[email protected]> 1.650.933.1373