summaryrefslogtreecommitdiff
path: root/fs/cifs
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail..com>2007-06-04 16:14:59 +0000
committerSteve French <sfrench@us.ibm.com>2007-06-04 16:14:59 +0000
commite6985c7f6842fa040d058640e363140ad1730dc5 (patch)
treef4490bc37a43968b35014dbd40463275b6ead59f /fs/cifs
parentf7f7c31c98830e5f4aa5486b8aabb7f3bf4a2512 (diff)
downloadlinux-3.10-e6985c7f6842fa040d058640e363140ad1730dc5.tar.gz
linux-3.10-e6985c7f6842fa040d058640e363140ad1730dc5.tar.bz2
linux-3.10-e6985c7f6842fa040d058640e363140ad1730dc5.zip
[CIFS] fix mempool destroy done in wrong order in cifs error path
Slab cache used as memory pool can not be destroyed before the memory pool destruction. Because the memory pool still holds some objects and kmem_cache_destroy() says "Can't free all objects". Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/cifsfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index d38c69b591c..7c04752b76c 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -825,8 +825,8 @@ cifs_init_mids(void)
sizeof (struct oplock_q_entry), 0,
SLAB_HWCACHE_ALIGN, NULL, NULL);
if (cifs_oplock_cachep == NULL) {
- kmem_cache_destroy(cifs_mid_cachep);
mempool_destroy(cifs_mid_poolp);
+ kmem_cache_destroy(cifs_mid_cachep);
return -ENOMEM;
}