Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-37878— perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init

EPSS 0.02% · P7
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-37878

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
perf/core: Fix WARN_ON(!ctx) in __free_event() for partial init
Source: NVD (National Vulnerability Database)
Vulnerability Description
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. ]
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未正确初始化子事件环境,可能导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 7ef5aa081f989ecfecc1df02068a80aebbd3ec31 ~ 90dc6c1e3b200812da8d0aa030e1b7fda8226d0e -
LinuxLinux 6.12.24 ~ 6.12.26 -

II. Public POCs for CVE-2025-37878

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-37878

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-05-09 · 52 CVEs total

CVE-2025-37873eth: bnxt: fix missing ring index trim on error path
CVE-2025-37889ASoC: ops: Consistently treat platform_max as control value
CVE-2025-37888net/mlx5: Fix null-ptr-deref in mlx5_create_{inner_,}ttc_table()
CVE-2025-37883s390/sclp: Add check for get_zeroed_page()
CVE-2025-37886pds_core: make wait_context part of q_info
CVE-2025-37885KVM: x86: Reset IRTE to host control if *new* route isn't postable
CVE-2025-37884bpf: Fix deadlock between rcu_tasks_trace and event_mutex.
CVE-2025-37887pds_core: handle unsupported PDS_CORE_CMD_FW_CONTROL result
CVE-2025-37875igc: fix PTM cycle trigger logic
CVE-2025-37874net: ngbe: fix memory leak in ngbe_probe() error path
CVE-2025-37876netfs: Only create /proc/fs/netfs with CONFIG_PROC_FS
CVE-2025-37872net: txgbe: fix memory leak in txgbe_probe() error path
CVE-2025-37871nfsd: decrease sc_count directly if fail to queue dl_recall
CVE-2025-37870drm/amd/display: prevent hang on link training fail
CVE-2025-37869drm/xe: Use local fence in error path of xe_migrate_clear
CVE-2025-37868drm/xe/userptr: fix notifier vs folio deadlock
CVE-2025-37867RDMA/core: Silence oversized kvmalloc() warning
CVE-2025-37866mlxbf-bootctl: use sysfs_emit_at() in secure_boot_fuse_state_show()
CVE-2025-37865net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported
CVE-2025-37864net: dsa: clean up FDB, MDB, VLAN entries on unbind

Showing top 20 of 52 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2025-37878

No comments yet


Leave a comment