efi: efivar_create_sysfs_entry() should return negative error codes
Subsystems (2)
PATCH 1/1 efi: efivar_create_sysfs_entry() should return negative error codes
It's not very normal to return 1 on failure and 0 on success. There isn't a reason for it here, the callers don't care so long as it's non-zero on failure.
Signed-off-by Dan Carpenter <[email protected]>
drivers/firmware/efi/efivars.c +6 -5
@@ -535,7 +535,7 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj,* efivar_create_sysfs_entry - create a new entry in sysfs * @new_var: efivar entry to create * -* Returns 1 on failure, 0 on success +* Returns 0 on success, negative error code on failure */ static int efivar_create_sysfs_entry (struct efivar_entry *new_var)
@@ -544,6 +544,7 @@ efivar_create_sysfs_entry(struct efivar_entry *new_var)char *short_name;unsigned long variable_name_size;efi_char16_t *variable_name; +int ret; variable_name = new_var->var.VariableName; variable_name_size =ucs2_strlen (variable_name) *sizeof (efi_char16_t);
@@ -558,7 +559,7 @@ efivar_create_sysfs_entry(struct efivar_entry *new_var) short_name =kzalloc (short_name_size,GFP_KERNEL );if (!short_name) -return 1 ; +return -ENOMEM ;/* Convert Unicode to normal chars (assume top bits are 0), ala UTF-8 */
@@ -574,11 +575,11 @@ efivar_create_sysfs_entry(struct efivar_entry *new_var) new_var->kobj.kset = efivars_kset; - i =kobject_init_and_add (&new_var->kobj, &efivar_ktype, + ret =kobject_init_and_add (&new_var->kobj, &efivar_ktype,NULL ,"%s" , short_name);kfree (short_name); -if (i) -return 1 ; +if (ret) +return ret;kobject_uevent (&new_var->kobj,KOBJ_ADD );efivar_entry_add (new_var, &efivar_sysfs_list);
Matt Fleming
AppliedQuoted 5 lines · Dan Carpenter
It's not very normal to return 1 on failure and 0 on success. There isn't a reason for it here, the callers don't care so long as it's non-zero on failure.
Signed-off-by Dan Carpenter <[email protected]>
Thanks, applied.
Signature · 1 line
Matt Fleming, Intel Open Source Technology Center