CVE-2025-40346

arch_topology: Fix incorrect error check in topology_parse_cpu_capacity()

State
Published
Severity
Not scored
Published
Dec 16, 2025
Updated
May 11, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

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().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 64da320252e43456cc9ec3055ff567f168467b37Affected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 02fbea0864fd4a863671f5d418129258d7159f68Affected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before a77f8434954cb1e9c42c3854e40855fdcf5ab235Affected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 3373f263bb647fcc3b5237cfaef757633b9ee25eAffected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 45379303124487db3a81219af7565d41f498167fAffected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 3a01b2614e84361aa222f67bc628593987e5cdb2Affected
  • b8fe128dad8f97cc9af7c55a264d1fc5ab677195 to before 2eead19334516c8e9927c11b448fbe512b1f18a1Affected
LinuxLinux
  • 5.7Affected
  • before 5.7Not affected
  • 5.10.246 through 5.10.*Not affected
  • 5.15.196 through 5.15.*Not affected
  • 6.1.158 through 6.1.*Not affected
  • 6.6.115 through 6.6.*Not affected
  • 6.12.56 through 6.12.*Not affected
  • 6.17.6 through 6.17.*Not affected
  • 6.18 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.