[PATCH] firmware: fix one UAF issue

From: korantwork
Date: Thu Jan 12 2023 - 02:05:25 EST


From: Xinghui Li <korantli@xxxxxxxxxxx>

There could be the use after free issue in dmi_sysfs_register_handle.
During handling specializations process, the entry->child could be
free if the error occurs. However, it will be kobject_put after free.
So, we set the entry->child to NULL to avoid above case.

Reported-by: loydlv <loydlv@xxxxxxxxxxx>
Signed-off-by: Xinghui Li <korantli@xxxxxxxxxxx>
---
drivers/firmware/dmi-sysfs.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c
index 66727ad3361b..dd4ff5f7e200 100644
--- a/drivers/firmware/dmi-sysfs.c
+++ b/drivers/firmware/dmi-sysfs.c
@@ -470,6 +470,7 @@ static int dmi_system_event_log(struct dmi_sysfs_entry *entry)
kobject_del(entry->child);
out_free:
kfree(entry->child);
+ entry->child = NULL;
return ret;
}

--
2.31.1