CVE-2026-53325

agp/amd64: Fix broken error propagation in agp_amd64_probe()

State
Published
Severity
Not scored
Published
Jun 29, 2026
Updated
Oct 15, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

agp/amd64: Fix broken error propagation in agp_amd64_probe()

A NULL pointer dereference was observed in the AMD64 AGP driver when running in a virtualized environment (e.g. qemu/kvm) without a physical AMD northbridge. The crash occurs in amd64_fetch_size() when attempting to dereference the pointer returned by node_to_amd_nb(0).

The root cause of this crash is broken error propagation in agp_amd64_probe(): When no AMD northbridges are found, cache_nbs() correctly returns -ENODEV. However, the probe function erroneously checks the return value against exactly -1, rather than < 0.

As a result, the hardware absence error is masked, allowing the driver to improperly proceed with initialization. It eventually calls agp_add_bridge(), which invokes amd64_fetch_size(). Since the hardware does not exist, node_to_amd_nb(0) returns NULL, leading to a General Protection Fault (GPF) when accessing its ->misc member.

Fix the issue by correcting the error check in agp_amd64_probe() to abort properly when cache_nbs() returns any negative error code. This prevents the driver from erroneously proceeding without hardware, thereby avoiding the subsequent NULL pointer dereference at its source.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before ce800993af477fc24187349c6a20d3073140b759Affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before 1d7d45050e14083c1de1460c93f4063c1f0bca7bAffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before 3e844a63668d1c3d10a9d347d7ebf161b2f91c84Affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before eb045714bc6a2bbb0befb7a31b996a196e188869Affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before 564b3b3f6565313eb6fa5355ffd037d6fb27897fAffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before 53483a9f4ee9eeb18aa866ec16cce79e136987e1Affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before 0aa9b27c454c53074cde592eaceb442d30341585Affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before cefe535a60a2e00e09f4b2689b0c8ffc6912459aAffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to before b08472db93b1ccff84a7adec5779d47f0e9d3a30Affected
LinuxLinux
  • 2.6.18Affected
  • before 2.6.18Not affected
  • 5.10.260 through 5.10.*Not affected
  • 5.15.211 through 5.15.*Not affected
  • 6.1.177 through 6.1.*Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.37 through 6.18.*Not affected
  • 7.0.14 through 7.0.*Not affected
  • 7.1.2 through 7.1.*Not affected
  • 7.2 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.