Re: [PATCH] fix memory leak in mm/slab.c::alloc_kmemlist() (try#3)

From: Christoph Lameter
Date: Tue Mar 21 2006 - 20:08:12 EST


On Wed, 22 Mar 2006, Jesper Juhl wrote:

> --- linux-2.6.16-rc6-mm2-orig/mm/slab.c 2006-03-18 16:55:55.000000000 +0100
> +++ linux-2.6.16-rc6-mm2/mm/slab.c 2006-03-21 22:33:45.000000000 +0100
> @@ -3399,12 +3399,17 @@ EXPORT_SYMBOL_GPL(kmem_cache_name);
> static int alloc_kmemlist(struct kmem_cache *cachep)
> {
> int node;
> + int count = -1;

Count? One could simply go backwards on the node and undo all
allocations for present nodes. That may be much simpler.

while (node >= 0 && node_isset(node, node_online_map) {

....

node--;
}

> struct kmem_list3 *l3;
> - int err = 0;

Ok. err is removed sinc we never set it to a nonzero value.

> + struct array_cache *new;
> + struct array_cache **new_alien;

Ok. Also not checked.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/