Re: [PATCH] efi: add missed destroy_workqueue when efisubsys_init fails

From: Markus Elfring
Date: Thu Jul 23 2020 - 02:28:48 EST


> destroy_workqueue() should be called to destroy efi_rts_wq
> when efisubsys_init() init resources fails.

* Can such exception handling depend on the data structure member âefi.runtime_supported_maskâ?

* An imperative wording would be preferred for the change description
(besides another bit of fine-tuning), wouldn't it?

* Will the tag âFixesâ become helpful for the commit message?


â
> +++ b/drivers/firmware/efi/efi.c
> @@ -379,6 +379,7 @@ static int __init efisubsys_init(void)
> efi_kobj = kobject_create_and_add("efi", firmware_kobj);
> if (!efi_kobj) {
> pr_err("efi: Firmware registration failed.\n");
> + destroy_workqueue(efi_rts_wq);
> return -ENOMEM;
> }

How do you think about to use the following statements instead
in the if branch?

- return -ENOMEM;
+ error = -ENOMEM;
+ goto destroy_workqueue;


Regards,
Markus