ubifs: Fix memory leak in ubifs_sysfs_init()
When insmod ubifs.ko, a kmemleak reported as below:
unreferenced object 0xffff88817fb1a780 (size 8):
comm "insmod", pid 25265, jiffies
4295239702 (age 100.130s)
hex dump (first 8 bytes):
75 62 69 66 73 00 ff ff ubifs...
backtrace:
[<
ffffffff81b3fc4c>] slab_post_alloc_hook+0x9c/0x3c0
[<
ffffffff81b44bf3>] __kmalloc_track_caller+0x183/0x410
[<
ffffffff8198d3da>] kstrdup+0x3a/0x80
[<
ffffffff8198d486>] kstrdup_const+0x66/0x80
[<
ffffffff83989325>] kvasprintf_const+0x155/0x190
[<
ffffffff83bf55bb>] kobject_set_name_vargs+0x5b/0x150
[<
ffffffff83bf576b>] kobject_set_name+0xbb/0xf0
[<
ffffffff8100204c>] do_one_initcall+0x14c/0x5a0
[<
ffffffff8157e380>] do_init_module+0x1f0/0x660
[<
ffffffff815857be>] load_module+0x6d7e/0x7590
[<
ffffffff8158644f>] __do_sys_finit_module+0x19f/0x230
[<
ffffffff815866b3>] __x64_sys_finit_module+0x73/0xb0
[<
ffffffff88c98e85>] do_syscall_64+0x35/0x80
[<
ffffffff88e00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
When kset_register() failed, we should call kset_put to cleanup it.
Fixes: 2e3cbf425804 ("ubifs: Export filesystem error counters")
Signed-off-by: Liu Shixin <[email protected]>
Signed-off-by: Richard Weinberger <[email protected]>