diff mbox series

[V2,02/15] x86/sgx: Rename fallback labels in sgx_init()

Message ID 120d55cfe68883872cd13977fc8accfa6ef98ce2.1635447301.git.reinette.chatre@intel.com (mailing list archive)
State New
Headers show
Series selftests/sgx: Oversubscription, page permission, thread entry | expand

Commit Message

Reinette Chatre Oct. 28, 2021, 8:37 p.m. UTC
From: Jarkko Sakkinen <jarkko@kernel.org>

It's hard to add new content to this function because it is time
consuming to match fallback and its cause. Rename labels in a way
that the name of error label refers to the site where failure
happened. This way it is easier to keep on track what is going
on.

Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
[reinette: Placeholder patch - submitted separately upstream
https://lore.kernel.org/lkml/20211018135744.45527-1-jarkko@kernel.org/
]
---
 arch/x86/kernel/cpu/sgx/main.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Dave Hansen Oct. 29, 2021, 5:59 p.m. UTC | #1
On 10/28/21 1:37 PM, Reinette Chatre wrote:
> -err_provision:
> +err_driver:
>  	misc_deregister(&sgx_dev_provision);
>  
> -err_kthread:
> +err_provision:
>  	kthread_stop(ksgxd_tsk);
>  
> -err_page_cache:
> +err_reclaimer:
>  	for (i = 0; i < sgx_nr_epc_sections; i++) {
>  		vfree(sgx_epc_sections[i].pages);
>  		memunmap(sgx_epc_sections[i].virt_addr);

This isn't the normal pattern we use in the kernel.

Usually, we say what is being *DONE* at the label, almost like we are
calling a function.  Here's a random example from one of the most
prolific users of gotos in arch/x86:

        ret = kernfs_get_tree(fc);
        if (ret < 0)
                goto out_psl;
...
out_psl:
        rdt_pseudo_lock_release();

See?  The "psl" is doing a "pseudo lock release".

I don't particularly like the labels as-is, but this patch makes them
less clear, IMNHO.  Let's just drop this patch for now, please.
diff mbox series

Patch

diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c
index 63d3de02bbcc..a6e313f1a82d 100644
--- a/arch/x86/kernel/cpu/sgx/main.c
+++ b/arch/x86/kernel/cpu/sgx/main.c
@@ -803,12 +803,12 @@  static int __init sgx_init(void)
 
 	if (!sgx_page_reclaimer_init()) {
 		ret = -ENOMEM;
-		goto err_page_cache;
+		goto err_reclaimer;
 	}
 
 	ret = misc_register(&sgx_dev_provision);
 	if (ret)
-		goto err_kthread;
+		goto err_provision;
 
 	/*
 	 * Always try to initialize the native *and* KVM drivers.
@@ -821,17 +821,17 @@  static int __init sgx_init(void)
 	ret = sgx_drv_init();
 
 	if (sgx_vepc_init() && ret)
-		goto err_provision;
+		goto err_driver;
 
 	return 0;
 
-err_provision:
+err_driver:
 	misc_deregister(&sgx_dev_provision);
 
-err_kthread:
+err_provision:
 	kthread_stop(ksgxd_tsk);
 
-err_page_cache:
+err_reclaimer:
 	for (i = 0; i < sgx_nr_epc_sections; i++) {
 		vfree(sgx_epc_sections[i].pages);
 		memunmap(sgx_epc_sections[i].virt_addr);