Skip to main content
← All vulnerabilities
CVE-2026-97443

perf/ftrace: Fix WARNING in __unregister_ftrace_function

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.12.111, 6.14, 6.15, 6.18.53
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: perf/ftrace: Fix WARNING in __unregister_ftrace_function perf_ftrace_function_unregister() unconditionally calls unregister_ftrace_function() without checking whether the ftrace_ops was ever successfully registered. This triggers a WARN_ON in __unregister_ftrace_function() when the ops doesn't have FTRACE_OPS_FL_ENABLED set. This can happen during perf_event_alloc() error cleanup when perf_trace_destroy() is called via __free_event() on an event whose ftrace_ops registration failed or was already torn down by perf_try_init_event()'s err_destroy path. The call path is: perf_event_alloc() error cleanup -> __free_event() -> event->destroy() [tp_perf_event_destroy] -> perf_trace_destroy() -> perf_trace_event_close() -> TRACE_REG_PERF_CLOSE -> perf_ftrace_function_unregister() -> unregister_ftrace_function() -> __unregister_ftrace_function() -> WARN_ON(!(ops->flags & FTRACE_OPS_FL_ENABLED)) Fix this by checking FTRACE_OPS_FL_ENABLED before attempting to unregister. If the ops is not enabled, just free the filter and return success.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 7ef5aa081f989ecfecc1df02068a80aebbd3ec31 · fixed in df097713b56ffac5eed32a9be2e7d27ac48d9087; From c70ca298036c58a88686ff388d3d367e9d21acf0 · fixed in 7f845820afaad339341c2ae42bc7fdec175df9ea; From c70ca298036c58a88686ff388d3d367e9d21acf0 · fixed in 9581123304b23049437324038698af9fb56ee663; From 6.12.24 · fixed in 6.12.111; From 6.13.12 · fixed in 6.14; From 6.14.3 · fixed in 6.15

  • Linux Linux

    6.15

  • KernelLinux

    fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53

References 3

git.kernel.org