Patch "ocfs2: fix memory leak in ocfs2_stack_glue_init()" has been added to the 5.15-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

    ocfs2: fix memory leak in ocfs2_stack_glue_init()

to the 5.15-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:
     ocfs2-fix-memory-leak-in-ocfs2_stack_glue_init.patch
and it can be found in the queue-5.15 subdirectory.

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



commit 11c3de5b5a02852574beea719405536a7471b006
Author: Shang XiaoJing <shangxiaojing@xxxxxxxxxx>
Date:   Tue Nov 1 19:15:33 2022 +0800

    ocfs2: fix memory leak in ocfs2_stack_glue_init()
    
    [ Upstream commit 13b6269dd022aaa69ca8d1df374ab327504121cf ]
    
    ocfs2_table_header should be free in ocfs2_stack_glue_init() if
    ocfs2_sysfs_init() failed, otherwise kmemleak will report memleak.
    
    BUG: memory leak
    unreferenced object 0xffff88810eeb5800 (size 128):
      comm "modprobe", pid 4507, jiffies 4296182506 (age 55.888s)
      hex dump (first 32 bytes):
        c0 40 14 a0 ff ff ff ff 00 00 00 00 01 00 00 00  .@..............
        01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<000000001e59e1cd>] __register_sysctl_table+0xca/0xef0
        [<00000000c04f70f7>] 0xffffffffa0050037
        [<000000001bd12912>] do_one_initcall+0xdb/0x480
        [<0000000064f766c9>] do_init_module+0x1cf/0x680
        [<000000002ba52db0>] load_module+0x6441/0x6f20
        [<000000009772580d>] __do_sys_finit_module+0x12f/0x1c0
        [<00000000380c1f22>] do_syscall_64+0x3f/0x90
        [<000000004cf473bc>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
    
    Link: https://lkml.kernel.org/r/41651ca1-432a-db34-eb97-d35744559de1@xxxxxxxxxxxxxxxxx
    Fixes: 3878f110f71a ("ocfs2: Move the hb_ctl_path sysctl into the stack glue.")
    Signed-off-by: Shang XiaoJing <shangxiaojing@xxxxxxxxxx>
    Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>
    Cc: Mark Fasheh <mark@xxxxxxxxxx>
    Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
    Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
    Cc: Changwei Ge <gechangwei@xxxxxxx>
    Cc: Gang He <ghe@xxxxxxxx>
    Cc: Jun Piao <piaojun@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
index 16f1bfc407f2..955f475f9aca 100644
--- a/fs/ocfs2/stackglue.c
+++ b/fs/ocfs2/stackglue.c
@@ -703,6 +703,8 @@ static struct ctl_table_header *ocfs2_table_header;
 
 static int __init ocfs2_stack_glue_init(void)
 {
+	int ret;
+
 	strcpy(cluster_stack_name, OCFS2_STACK_PLUGIN_O2CB);
 
 	ocfs2_table_header = register_sysctl_table(ocfs2_root_table);
@@ -712,7 +714,11 @@ static int __init ocfs2_stack_glue_init(void)
 		return -ENOMEM; /* or something. */
 	}
 
-	return ocfs2_sysfs_init();
+	ret = ocfs2_sysfs_init();
+	if (ret)
+		unregister_sysctl_table(ocfs2_table_header);
+
+	return ret;
 }
 
 static void __exit ocfs2_stack_glue_exit(void)



[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