mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails
[ Upstream commite2a87785aa] Smatch report warning as follows: drivers/hwmon/ibmpex.c:509 ibmpex_register_bmc() warn: '&data->list' not removed from list If ibmpex_find_sensors() fails in ibmpex_register_bmc(), data will be freed, but data->list will not be removed from driver_data.bmc_data, then list traversal may cause UAF. Fix by removeing it from driver_data.bmc_data before free(). Fixes:57c7c3a0fd("hwmon: IBM power meter driver") Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> Link: https://lore.kernel.org/r/20221117034423.2935739-1-cuigaosheng1@huawei.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
7649bba263
commit
90907cd4d1
|
|
@ -502,6 +502,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
out_register:
|
out_register:
|
||||||
|
list_del(&data->list);
|
||||||
hwmon_device_unregister(data->hwmon_dev);
|
hwmon_device_unregister(data->hwmon_dev);
|
||||||
out_user:
|
out_user:
|
||||||
ipmi_destroy_user(data->user);
|
ipmi_destroy_user(data->user);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user