Skip to content

Commit 1d1a7e2

Browse files
Ye Binaalexandrovich
authored andcommitted
fs/ntfs3: Fix 'proc_info_root' leak when init ntfs failed
There's a issue as follows: proc_dir_entry 'fs/ntfs3' already registered WARNING: CPU: 3 PID: 9788 at fs/proc/generic.c:375 proc_register+0x418/0x590 Modules linked in: ntfs3(E+) Call Trace: <TASK> _proc_mkdir+0x165/0x200 init_ntfs_fs+0x36/0xf90 [ntfs3] do_one_initcall+0x115/0x6c0 do_init_module+0x253/0x760 load_module+0x55f2/0x6c80 init_module_from_file+0xd2/0x130 __x64_sys_finit_module+0xbf/0x130 do_syscall_64+0x72/0x1c0 Above issue happens as missing destroy 'proc_info_root' when error happens after create 'proc_info_root' in init_ntfs_fs(). So destroy 'proc_info_root' in error path in init_ntfs_fs(). Fixes: 7832e12 ("fs/ntfs3: Add support /proc/fs/ntfs3/<dev>/volinfo and /proc/fs/ntfs3/<dev>/label") Signed-off-by: Ye Bin <yebin10@huawei.com> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
1 parent c5a3962 commit 1d1a7e2

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

fs/ntfs3/super.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1885,7 +1885,7 @@ static int __init init_ntfs_fs(void)
18851885

18861886
err = ntfs3_init_bitmap();
18871887
if (err)
1888-
return err;
1888+
goto out2;
18891889

18901890
ntfs_inode_cachep = kmem_cache_create(
18911891
"ntfs_inode_cache", sizeof(struct ntfs_inode), 0,
@@ -1905,6 +1905,8 @@ static int __init init_ntfs_fs(void)
19051905
kmem_cache_destroy(ntfs_inode_cachep);
19061906
out1:
19071907
ntfs3_exit_bitmap();
1908+
out2:
1909+
ntfs_remove_proc_root();
19081910
return err;
19091911
}
19101912

0 commit comments

Comments
 (0)