CVE-2025-40346
Description
In the Linux kernel, the following vulnerability has been resolved: arch_topology: Fix incorrect error check in topology_parse_cpu_capacity() Fix incorrect use of PTR_ERR_OR_ZERO() in topology_parse_cpu_capacity() which causes the code to proceed with NULL clock pointers. The current logic uses !PTR_ERR_OR_ZERO(cpu_clk) which evaluates to true for both valid pointers and NULL, leading to potential NULL pointer dereference in clk_get_rate(). Per include/linux/err.h documentation, PTR_ERR_OR_ZERO(ptr) returns: "The error code within @ptr if it is an error pointer; 0 otherwise." This means PTR_ERR_OR_ZERO() returns 0 for both valid pointers AND NULL pointers. Therefore !PTR_ERR_OR_ZERO(cpu_clk) evaluates to true (proceed) when cpu_clk is either valid or NULL, causing clk_get_rate(NULL) to be called when of_clk_get() returns NULL. Replace with !IS_ERR_OR_NULL(cpu_clk) which only proceeds for valid pointers, preventing potential NULL pointer dereference in clk_get_rate().
How to fix
- Linux Linux64da320252e43456cc9ec3055ff567f168467b37, 02fbea0864fd4a863671f5d418129258d7159f68, a77f8434954cb1e9c42c3854e40855fdcf5ab235, 3373f263bb647fcc3b5237cfaef757633b9ee25e, 45379303124487db3a81219af7565d41f498167f, 3a01b2614e84361aa222f67bc628593987e5cdb2, 2eead19334516c8e9927c11b448fbe512b1f18a1 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 64da320252e43456cc9ec3055ff567f168467b37, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 02fbea0864fd4a863671f5d418129258d7159f68, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < a77f8434954cb1e9c42c3854e40855fdcf5ab235, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 3373f263bb647fcc3b5237cfaef757633b9ee25e, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 45379303124487db3a81219af7565d41f498167f, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 3a01b2614e84361aa222f67bc628593987e5cdb2, b8fe128dad8f97cc9af7c55a264d1fc5ab677195 ≤ v < 2eead19334516c8e9927c11b448fbe512b1f18a1, 5.7 | 64da320252e43456cc9ec3055ff567f168467b37, 02fbea0864fd4a863671f5d418129258d7159f68, a77f8434954cb1e9c42c3854e40855fdcf5ab235, 3373f263bb647fcc3b5237cfaef757633b9ee25e, 45379303124487db3a81219af7565d41f498167f, 3a01b2614e84361aa222f67bc628593987e5cdb2, 2eead19334516c8e9927c11b448fbe512b1f18a1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.