diff options
-rw-r--r-- | drivers/firmware/efivars.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c index 8ebce1c03ad7..5ab5e393b882 100644 --- a/drivers/firmware/efivars.c +++ b/drivers/firmware/efivars.c | |||
@@ -639,7 +639,12 @@ efivar_create_sysfs_entry(unsigned long variable_name_size, | |||
639 | 639 | ||
640 | kobject_set_name(&new_efivar->kobj, "%s", short_name); | 640 | kobject_set_name(&new_efivar->kobj, "%s", short_name); |
641 | kobj_set_kset_s(new_efivar, vars_subsys); | 641 | kobj_set_kset_s(new_efivar, vars_subsys); |
642 | kobject_register(&new_efivar->kobj); | 642 | i = kobject_register(&new_efivar->kobj); |
643 | if (i) { | ||
644 | kfree(short_name); | ||
645 | kfree(new_efivar); | ||
646 | return 1; | ||
647 | } | ||
643 | 648 | ||
644 | kfree(short_name); | 649 | kfree(short_name); |
645 | short_name = NULL; | 650 | short_name = NULL; |