According to the documentation of function kobject_init_and_add(),
when this function returns an error, kobject_put() must be called
to properly clean up the memory associated with the object.

Fixes: 925a1da7477f ("firmware: Break out system_event_log in dmi-sysfs")
Signed-off-by: James Bond <jameslouiseb...@gmail.com>
---
 drivers/firmware/dmi-sysfs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c
index 8b8127fa8955..848b6a0f94eb 100644
--- a/drivers/firmware/dmi-sysfs.c
+++ b/drivers/firmware/dmi-sysfs.c
@@ -457,8 +457,10 @@ static int dmi_system_event_log(struct dmi_sysfs_entry 
*entry)
                                   &dmi_system_event_log_ktype,
                                   &entry->kobj,
                                   "system_event_log");
-       if (ret)
+       if (ret) {
+               kobject_put(entry->child);
                goto out_free;
+       }
 
        ret = sysfs_create_bin_file(entry->child, &dmi_sel_raw_attr);
        if (ret)
-- 
2.17.1

Reply via email to