Patch "ubifs: Fix memory leak in ubifs_sysfs_init()" has been added to the 6.2-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ubifs: Fix memory leak in ubifs_sysfs_init()

to the 6.2-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ubifs-fix-memory-leak-in-ubifs_sysfs_init.patch
and it can be found in the queue-6.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 306892591ff52a0deb2d9ce0883b627fa9973a19
Author: Liu Shixin <liushixin2@xxxxxxxxxx>
Date:   Thu Oct 20 12:30:31 2022 +0800

    ubifs: Fix memory leak in ubifs_sysfs_init()
    
    [ Upstream commit 203a55f04f66eea1a1ca7e5a302a7f5c99c62327 ]
    
    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 <liushixin2@xxxxxxxxxx>
    Signed-off-by: Richard Weinberger <richard@xxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/ubifs/sysfs.c b/fs/ubifs/sysfs.c
index 06ad8fa1fcfb0..54270ad36321e 100644
--- a/fs/ubifs/sysfs.c
+++ b/fs/ubifs/sysfs.c
@@ -144,6 +144,8 @@ int __init ubifs_sysfs_init(void)
 	kobject_set_name(&ubifs_kset.kobj, "ubifs");
 	ubifs_kset.kobj.parent = fs_kobj;
 	ret = kset_register(&ubifs_kset);
+	if (ret)
+		kset_put(&ubifs_kset);
 
 	return ret;
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux