CVE-2026-53325 PUBLISHED

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

Assigner: Linux
Reserved: 09.06.2026 Published: 29.06.2026 Updated: 29.06.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to 53483a9f4ee9eeb18aa866ec16cce79e136987e1 (excl.)
  • affected from a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to 0aa9b27c454c53074cde592eaceb442d30341585 (excl.)
  • affected from a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to cefe535a60a2e00e09f4b2689b0c8ffc6912459a (excl.)
  • affected from a32073bffc656ca4bde6002b6cf7c1a8e0e22712 to b08472db93b1ccff84a7adec5779d47f0e9d3a30 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.18 is affected
  • unaffected from 0 to 2.6.18 (excl.)
  • unaffected from 6.18.37 to 6.18.* (incl.)
  • unaffected from 7.0.14 to 7.0.* (incl.)
  • unaffected from 7.1.2 to 7.1.* (incl.)
  • unaffected from 7.2-rc1 to * (incl.)

References