[PATCH] slub: fix kmem_cache wrongly freed in kmem_cache_create

From: Xiaotian Feng
Date: Sun Sep 13 2009 - 23:12:27 EST


commit a0e1d1b move sysfs operations outside of slub_lock, but wrongly
freed kmem_cache in any cases (should only free kmem_cache when open failed).

Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx>
---
mm/slub.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index b627675..40e12d5 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3337,8 +3337,8 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
goto err;
}
return s;
- }
- kfree(s);
+ } else
+ kfree(s);
}
up_write(&slub_lock);

--
1.6.2.5


--------------040408020607040807040307--
--
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/