CVE-2025-38069

PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops

State
Published
Severity
Not scored
Published
Jun 18, 2025
Updated
Oct 30, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops

Fix a kernel oops found while testing the stm32_pcie Endpoint driver with handling of PERST# deassertion:

During EP initialization, pci_epf_test_alloc_space() allocates all BARs, which are further freed if epc_set_bar() fails (for instance, due to no free inbound window).

However, when pci_epc_set_bar() fails, the error path:

pci_epc_set_bar() -> pci_epf_free_space()

does not clear the previous assignment to epf_test->reg[bar].

Then, if the host reboots, the PERST# deassertion restarts the BAR allocation sequence with the same allocation failure (no free inbound window), creating a double free situation since epf_test->reg[bar] was deallocated and is still non-NULL.

Thus, make sure that pci_epf_alloc_space() and pci_epf_free_space() invocations are symmetric, and as such, set epf_test->reg[bar] to NULL when memory is freed.

[kwilczynski: commit log]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 349e7a85b25fa6ee82902d9be2cc5f3bec815120 to before e2e43854ab72a9d4908ac2bf6087f80aa138a8b5Affected
  • 349e7a85b25fa6ee82902d9be2cc5f3bec815120 to before 761db4ca3a469f2070757acd4e104dff5125ca99Affected
  • 349e7a85b25fa6ee82902d9be2cc5f3bec815120 to before fe2329eff5bee461ebcafadb6ca1df0cbf5945fdAffected
  • 349e7a85b25fa6ee82902d9be2cc5f3bec815120 to before 8b83893d1f6c6061a7d58169ecdf9d5ee9f306eeAffected
  • 349e7a85b25fa6ee82902d9be2cc5f3bec815120 to before 934e9d137d937706004c325fa1474f9e3f1ba10aAffected
LinuxLinux
  • 4.12Affected
  • before 4.12Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.31 through 6.12.*Not affected
  • 6.14.9 through 6.14.*Not affected
  • 6.15 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.