efivars: handle errors from register_efivars()
PATCH 2/2 efivars: handle errors from register_efivars()
We should unwind and return an error if register_efivars() fails.
Signed-off-by Dan Carpenter <[email protected]>
drivers/firmware/efivars.c +9 -2
@@ -803,6 +803,8 @@ efivars_init(void) ops.set_variable = efi.set_variable; ops.get_next_variable = efi.get_next_variable; error =register_efivars (&__efivars, &ops, efi_kobj); +if (error) + goto err_put;/* Don't forget the systab entry */ error =sysfs_create_group (efi_kobj, &efi_subsys_attr_group);
@@ -810,10 +812,15 @@ efivars_init(void)printk (KERN_ERR "efivars: Sysfs attribute export failed with error %d.\n" , error); -unregister_efivars (&__efivars); -kobject_put (efi_kobj); + goto err_unregister; } +return 0 ; + +err_unregister: +unregister_efivars (&__efivars); +err_put: +kobject_put (efi_kobj);return error; }
Quoted 3 lines · Dan Carpenter
We should unwind and return an error if
register_efivars()fails.Signed-off-by Dan Carpenter <[email protected]>
Acked-by Mike Waychison <[email protected]>