diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-10-11 01:22:23 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-11 11:14:25 -0700 |
commit | 69b2186c5fcb335e29c558e3b4e410e1939b5cc8 (patch) | |
tree | a7579c6e5c81c74255dacf65eaff383d71ad37eb /drivers/firmware | |
parent | 42ddfd6859b9d57490c94d26e29a43ffd78366e5 (diff) | |
download | blackbird-op-linux-69b2186c5fcb335e29c558e3b4e410e1939b5cc8.tar.gz blackbird-op-linux-69b2186c5fcb335e29c558e3b4e410e1939b5cc8.zip |
[PATCH] firmware/efivars: handle error
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/firmware')
-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, kobject_set_name(&new_efivar->kobj, "%s", short_name); kobj_set_kset_s(new_efivar, vars_subsys); - kobject_register(&new_efivar->kobj); + i = kobject_register(&new_efivar->kobj); + if (i) { + kfree(short_name); + kfree(new_efivar); + return 1; + } kfree(short_name); short_name = NULL; |