CVE-2025-38069

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38069
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38069.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38069
Downstream
Published
2025-06-18T10:15:40Z
Modified
2025-08-09T20:01:28Z
Summary
[none]
Details

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, pciepftestallocspace() allocates all BARs, which are further freed if epcsetbar() fails (for instance, due to no free inbound window).

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

pciepcsetbar() -> pciepffreespace()

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 pciepfallocspace() and pciepffreespace() invocations are symmetric, and as such, set epf_test->reg[bar] to NULL when memory is freed.

[kwilczynski: commit log]

References

Affected packages