CVE-2026-93273: regulator: tps6594: Fix device node reference leaks in multiphase loop
In the Linux kernel, the following vulnerability has been resolved:
regulator: tps6594: Fix device node reference leaks in multiphase loop
In tps6594regulatorprobe(), the multi-phase configuration loop calls offindnodebyname() to find buck nodes by name, and ofgetparent() twice to navigate to the PMIC parent node. None of the acquired node references (np, intermediate parent, nppmicparent) are ever released via ofnodeput(), causing a reference leak on every loop iteration.
Additionally, offindnodebyname() can return NULL, but the result was immediately passed to ofnodefullname() and ofgetparent() without a NULL check, which could lead to a NULL pointer dereference.
Fix this by: - Adding a NULL check for np after offindnodebyname() - Storing the intermediate parent node in a local variable npparent - Calling ofnodeput() on np, npparent and nppmicparent at the end of each loop iteration
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to the NULL pointer dereference?
Systems using the Linux kernel TPS6594 regulator driver and exercising its multiphase configuration path are relevant. The issue occurs when the driver looks up buck device-tree nodes by name and the lookup returns NULL.
What conditions are needed to trigger the problem?
The multiphase configuration loop must run, and a requested buck node must not be found by of_find_node_by_name(). The vulnerable code then uses that NULL result without checking it.
What can be done if the fix cannot be deployed immediately?
Ensure the relevant TPS6594 multiphase device-tree configuration contains the buck nodes expected by the driver, so the node lookup does not return NULL. This does not address the device-node reference leaks, which occur on loop iterations.
How can administrators determine whether their kernel includes the remediation?
Check whether the TPS6594 regulator probe code validates the result of of_find_node_by_name() and releases np, the intermediate parent node, and np_pmic_parent with of_node_put() on each loop iteration. The listed kernel.org stable references identify patches containing the fix.