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 |
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 --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);