Skip to contentSkip to conversation

slub: fix possible NULL pointer dereference

PATCH In review Cyrill Gorcunov 2 participants 3 messages Mar 2, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 slub: fix possible NULL pointer dereference

This patch fix possible NULL pointer dereference if kzalloc failed. To be able to return proper error code the function return type is changed to ssize_t (according to callees and sysfs definitions).

---

mm/slub.c +4 -2
Index: linux-2.6.git/mm/slub.c
===================================================================
@@ -3591,8 +3591,8 @@ enum slab_stat_type {
 #define SO_CPU		(1 << SL_CPU)
 #define SO_OBJECTS	(1 << SL_OBJECTS)
 
-static unsigned long slab_objects(struct kmem_cache *s,
-			char *buf, unsigned long flags)
+static ssize_t slab_objects(struct kmem_cache *s,
+			    char *buf, unsigned long flags)
 {
 	unsigned long total = 0;
 	int cpu;
@@ -3602,6 +3602,8 @@ static unsigned long slab_objects(struct
 	unsigned long *per_cpu;
 
 	nodes = kzalloc(2 * sizeof(unsigned long) * nr_node_ids, GFP_KERNEL);
+	if (!nodes)
+		return -ENOMEM;
 	per_cpu = nodes + nr_node_ids;
 
 	for_each_possible_cpu(cpu) {
#2 lore raw

Thanks for review, Pekka, and sorry for not cc'ed you on initial submittion (just missed :(