Commit a4376e13 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Linus Torvalds

[PATCH] freevxfs: fix leak on error path

If register_filesystem() fails, vxfs_inode cache must be destroyed.
Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Acked-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 50d44ed0
...@@ -260,12 +260,17 @@ static struct file_system_type vxfs_fs_type = { ...@@ -260,12 +260,17 @@ static struct file_system_type vxfs_fs_type = {
static int __init static int __init
vxfs_init(void) vxfs_init(void)
{ {
int rv;
vxfs_inode_cachep = kmem_cache_create("vxfs_inode", vxfs_inode_cachep = kmem_cache_create("vxfs_inode",
sizeof(struct vxfs_inode_info), 0, sizeof(struct vxfs_inode_info), 0,
SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD, NULL, NULL); SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD, NULL, NULL);
if (vxfs_inode_cachep) if (!vxfs_inode_cachep)
return register_filesystem(&vxfs_fs_type);
return -ENOMEM; return -ENOMEM;
rv = register_filesystem(&vxfs_fs_type);
if (rv < 0)
kmem_cache_destroy(vxfs_inode_cachep);
return rv;
} }
static void __exit static void __exit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment