CVE-2023-53612
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
04/10/2025
Last modified:
06/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
hwmon: (coretemp) Simplify platform device handling<br />
<br />
Coretemp&#39;s platform driver is unconventional. All the real work is done<br />
globally by the initcall and CPU hotplug notifiers, while the "driver"<br />
effectively just wraps an allocation and the registration of the hwmon<br />
interface in a long-winded round-trip through the driver core. The whole<br />
logic of dynamically creating and destroying platform devices to bring<br />
the interfaces up and down is error prone, since it assumes<br />
platform_device_add() will synchronously bind the driver and set drvdata<br />
before it returns, thus results in a NULL dereference if drivers_autoprobe<br />
is turned off for the platform bus. Furthermore, the unusual approach of<br />
doing that from within a CPU hotplug notifier, already commented in the<br />
code that it deadlocks suspend, also causes lockdep issues for other<br />
drivers or subsystems which may want to legitimately register a CPU<br />
hotplug notifier from a platform bus notifier.<br />
<br />
All of these issues can be solved by ripping this unusual behaviour out<br />
completely, simply tying the platform devices to the lifetime of the<br />
module itself, and directly managing the hwmon interfaces from the<br />
hotplug notifiers. There is a slight user-visible change in that<br />
/sys/bus/platform/drivers/coretemp will no longer appear, and<br />
/sys/devices/platform/coretemp.n will remain present if package n is<br />
hotplugged off, but hwmon users should really only be looking for the<br />
presence of the hwmon interfaces, whose behaviour remains unchanged.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/4000384684f612b3645a944f6acde0e65ac370b8
- https://git.kernel.org/stable/c/52ea47a0ddfbc5fe05e873d3f5a59db4ba3e03fe
- https://git.kernel.org/stable/c/5735878a7b7db7e9ce731cb36cec298a9de67549
- https://git.kernel.org/stable/c/6d03bbff456befeccdd4d663177c4d6c75d0c4ff
- https://git.kernel.org/stable/c/8fcdbc4bc01365f4b10fed7db544a3149e3054fd
- https://git.kernel.org/stable/c/c57a8d14d7880521150ee801d53a0a64fdffd9c8



