public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH][1/2] fix unchecked returns from kmalloc() (in kernel/module.c)
@ 2004-12-07 21:23 Jesper Juhl
  2004-12-07 21:29 ` Jens Axboe
  2004-12-08  1:57 ` Rusty Russell
  0 siblings, 2 replies; 6+ messages in thread
From: Jesper Juhl @ 2004-12-07 21:23 UTC (permalink / raw)
  To: linux-kernel; +Cc: Katrina Tsipenyuk, katrina, Rusty Russell


Problem reported by Katrina Tsipenyuk and the Fortify Software engineering 
team in thread with subject "PROBLEM: unchecked returns from kmalloc() in 
linux-2.6.10-rc2".

The patch attempts to handle a failed kmalloc() a bit better than it 
currently is. As I see it (and I'm not familliar with this code) there's 
no really good way to cope with kmalloc failing on us here, so the best we 
can do is print an error message and return a meaningful error value. As 
the function is used with __initcall() I don't think much will actually 
come of the negatve return, but returning -ENOMEM seems to me to be the 
proper thing to do. Comments from someone who's actually familliar with 
the code is very welcome.

Patch has been compile tested, boot tested, and didn't immediately blow 
up my kernel, but that's all. Please review before applying.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>

diff -up linux-2.6.10-rc3-bk2-orig/kernel/module.c linux-2.6.10-rc3-bk2/kernel/module.c
--- linux-2.6.10-rc3-bk2-orig/kernel/module.c	2004-12-06 22:24:56.000000000 +0100
+++ linux-2.6.10-rc3-bk2/kernel/module.c	2004-12-07 21:17:00.000000000 +0100
@@ -334,6 +334,10 @@ static int percpu_modinit(void)
 	pcpu_num_allocated = 2;
 	pcpu_size = kmalloc(sizeof(pcpu_size[0]) * pcpu_num_allocated,
 			    GFP_KERNEL);
+	if (!pcpu_size) {
+		printk(KERN_ERR "Unable to allocate per-cpu memory for modules.");
+		return -ENOMEM;
+	}
 	/* Static in-kernel percpu data (used). */
 	pcpu_size[0] = -ALIGN(__per_cpu_end-__per_cpu_start, SMP_CACHE_BYTES);
 	/* Free room. */




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-12-08  7:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-07 21:23 [PATCH][1/2] fix unchecked returns from kmalloc() (in kernel/module.c) Jesper Juhl
2004-12-07 21:29 ` Jens Axboe
2004-12-07 22:56   ` Jesper Juhl
2004-12-07 22:57   ` Andries Brouwer
2004-12-08  7:01     ` Jens Axboe
2004-12-08  1:57 ` Rusty Russell

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