All vulnerabilities
CVE-2026-97443

Linux: perf/ftrace: Fix WARNING in __unregister_ftrace_function

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.17%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in7f845820afaad339341c2ae42bc7fdec175df9eaAlso 9581123304b23049437324038698af9fb56ee663, 6.12.111 and 2 moreCVE List
Published24 Sep 2026Updated 25 Sep 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 13

  • Linuxaffected: 7ef5aa081f989ecfecc1df02068a80aebbd3ec31 before df097713b56ffac5eed32a9be2e7d27ac48d9087CVE List
  • Linuxaffected: c70ca298036c58a88686ff388d3d367e9d21acf0 before 7f845820afaad339341c2ae42bc7fdec175df9eaCVE List
  • Linuxaffected: c70ca298036c58a88686ff388d3d367e9d21acf0 before 9581123304b23049437324038698af9fb56ee663CVE List
  • Linuxaffected: 315a50c6b1c6ce191f19f3372935d8e2ed9b53a6CVE List
  • Linuxaffected: 1209b0b29fd472e7dbd2b06544b019dd9f9b7e51CVE List
  • Linuxaffected: 6.12.24 before 6.12.111CVE List
  • Linuxaffected: 6.13.12 before 6.14CVE List
  • Linuxaffected: 6.14.3 before 6.15CVE List
  • Linuxaffected: 6.15CVE List
  • Linuxunaffected: all versions before 6.15CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2CVE List

References 3