[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20200804183650.4024-1-jameslouisebond@gmail.com>
Date: Tue, 4 Aug 2020 13:36:49 -0500
From: James Bond <jameslouisebond@...il.com>
To: jameslouisebond@...il.com
Cc: "Gustavo A. R. Silva" <gustavo@...eddedor.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
Mike Waychison <mikew@...gle.com>, linux-kernel@...r.kernel.org
Subject: [PATCH] firmware: dmi-sysfs: Add clean-up operations to fix refcount leak
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 <jameslouisebond@...il.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
Powered by blists - more mailing lists