perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init
CVE-2025-37878 is fixed in 58 products on 1 platform, first by DEBIAN-CVE-2025-37878, released May 9, 2025. It is not reported as exploited. Patch Radar priority: High.
In the Linux kernel, the following vulnerability has been resolved: perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init Move the get_ctx(child_ctx) call and the child_event->ctx assignment to occur immediately after the child event is allocated. Ensure that child_event->ctx is non-NULL before any subsequent error path within inherit_event calls free_event(), satisfying the assumptions of the cleanup code. Details: There's no clear Fixes tag, because this bug is a side-effect of multiple interacting commits over time (up to 15 years old), not a single regression. The code initially incremented refcount then assigned context immediately after the child_event was created. Later, an early validity check for child_event was added before the refcount/assignment. Even later, a WARN_ON_ONCE() cleanup check was added, assuming event->ctx is valid if the pmu_ctx is valid. The problem is that the WARN_ON_ONCE() could trigger after the initial check passed but before child_event->ctx was assigned, violating its precondition. The solution is to assign child_event->ctx right after its initial validation. This ensures the context exists for any subsequent checks or cleanup routines, resolving the WARN_ON_ONCE(). To resolve it, defer the refcount update and child_event->ctx assignment directly after child_event->pmu_ctx is set but before checking if the parent event is orphaned. The cleanup routine depends on event->pmu_ctx being non-NULL before it verifies event->ctx is non-NULL. This also maintains the author's original intent of passing in child_ctx to find_get_pmu_context before its refcount/assignment. [ mingo: Expanded the changelog from another email by Gabriel Shahrouzi. ]
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| bpftool-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-devel · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-headers · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-libbpf · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-libbpf-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-libbpf-devel · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-libbpf-static · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-livepatch-6.12.29-33.102 · amzn 2023 | 1.0-0.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-modules-extra-common · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-tools · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-tools-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-tools-devel · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel-uek · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-doc · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-doc · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-tools · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-tools · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel6.12 · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel6.12-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel6.12-debuginfo-common-aarch64 · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel6.12-debuginfo-common-x86_64 · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| kernel6.12-modules-extra · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| linux · Debian 13.5 (trixie) | 6.12.27-1 | DEBIAN-CVE-2025-37878 | May 9, 2025 |
| linux · Debian 14 | 6.12.27-1 | DEBIAN-CVE-2025-37878 | May 9, 2025 |
| perf6.12 · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| perf6.12-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| python3-perf6.12 · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
| python3-perf6.12-debuginfo · amzn 2023 | 6.12.29-33.102.amzn2023 | ALAS2023-2025-994 | Jun 3, 2025 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.