Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-53325

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

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < ce800993af477fc24187349c6a20d3073140b759affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < 1d7d45050e14083c1de1460c93f4063c1f0bca7baffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < 3e844a63668d1c3d10a9d347d7ebf161b2f91c84affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < eb045714bc6a2bbb0befb7a31b996a196e188869affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < 564b3b3f6565313eb6fa5355ffd037d6fb27897faffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < 53483a9f4ee9eeb18aa866ec16cce79e136987e1affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < 0aa9b27c454c53074cde592eaceb442d30341585affected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < cefe535a60a2e00e09f4b2689b0c8ffc6912459aaffected
  • a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to < b08472db93b1ccff84a7adec5779d47f0e9d3a30affected

Linux Linux

Default version status: affected

  • 2.6.18affected
  • 0 to < 2.6.18unaffected
  • 5.10.260 to ≤ 5.10.*unaffected
  • 5.15.211 to ≤ 5.15.*unaffected
  • 6.1.177 to ≤ 6.1.*unaffected
  • 6.6.144 to ≤ 6.6.*unaffected
  • 6.12.95 to ≤ 6.12.*unaffected
  • 6.18.37 to ≤ 6.18.*unaffected
  • 7.0.14 to ≤ 7.0.*unaffected
  • 7.1.2 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References