fs/resctrl: Optimize code in rdt_get_tree()

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
This commit is contained in:
Shaopeng Tan
2025-06-23 16:50:50 +09:00
committed by Borislav Petkov (AMD)
parent f83ec76bf2
commit 0e58f6a7dd

View 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 @@ static int rdt_get_tree(struct fs_context *fc)
closid_exit();
out_schemata_free:
schemata_list_destroy();
out_ctx:
rdt_disable_ctx();
out_root:
rdtgroup_destroy_root();