]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fs/resctrl: Optimize code in rdt_get_tree()
authorShaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Mon, 23 Jun 2025 07:50:50 +0000 (16:50 +0900)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 15 Sep 2025 09:44:01 +0000 (11:44 +0200)
schemata_list_destroy() has to be called if schemata_list_create() fails.

rdt_get_tree() calls schemata_list_destroy() in two different ways:
directly if schemata_list_create() itself fails and
on the exit path via the out_schemata_free goto label.

Remove schemata_list_destroy() call on schemata_list_create() failure.
Use existing out_schemata_free goto label instead.

Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: James Morse <james.morse@arm.com>
Reviewed-by: Koba Ko <kobak@nvidia.com>
Link: https://lore.kernel.org/20250623075051.3610592-1-tan.shaopeng@jp.fujitsu.com
fs/resctrl/rdtgroup.c

index 77d08229d8550220eace949938835ec5fd304d6c..5f0b7cfa1cc2ae8e91efbc1496b3c95262f92a13 100644 (file)
@@ -2608,10 +2608,8 @@ static int rdt_get_tree(struct fs_context *fc)
                goto out_root;
 
        ret = schemata_list_create();
-       if (ret) {
-               schemata_list_destroy();
-               goto out_ctx;
-       }
+       if (ret)
+               goto out_schemata_free;
 
        ret = closid_init();
        if (ret)
@@ -2683,7 +2681,6 @@ out_closid_exit:
        closid_exit();
 out_schemata_free:
        schemata_list_destroy();
-out_ctx:
        rdt_disable_ctx();
 out_root:
        rdtgroup_destroy_root();