CVE-2026-89749: tracing: Fix crash passing ERR_PTR to kthread_stop()

Published Sep 11, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

tracing: Fix crash passing ERRPTR to kthreadstop()

eventteststuff() calls kthreadrun() and unconditionally passes the returned taskstruct pointer to kthreadstop(). kthreadrun() returns an error pointer such as ERRPTR(-ENOMEM) when kthread creation fails, for example under memory pressure during the boot-time event self-test. kthreadstop() then dereferences the invalid pointer, crashing the kernel.

Check the result of kthreadrun() before passing it to kthreadstop(). Use WARNON() so that a failure to create the self-test thread does not go unnoticed, matching the ring-buffer self-test fix in commit 91542863abad ("ring-buffer: Fix crash passing ERRPTR to kthreadstop()").

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Modify event_test_stuff() (boot-time event self-test) to check the returned task_struct pointer from kthread_run() and avoid passing an ERR_PTR (e.g., ERR_PTR(-ENOMEM)) to kthread_stop(). Use WARN_ON() so self-test thread creation failure is detected without causing kernel crash.

    Linux kernel (event self-test / ring-buffer self-test) kthread_run() result handling = Check for errors before passing to kthread_stop(); use WARN_ON() on self-test thread creation failure

Event History

Sep 11, 2026
CVE Published
via MITRE·07:46 PM
Data Sourced
via MITRE·07:46 PM
Description

Frequently Asked Questions

1

Under what conditions can this crash occur?

The crash requires kthread_run() to fail while the tracing event self-test is running, such as when memory pressure prevents creation of the self-test kernel thread. The vulnerable code then passes the resulting error pointer to kthread_stop().

2

Is an external attacker able to trigger this directly?

The provided information identifies a kernel crash caused by failure to create a self-test thread, but does not describe an external attack path or required attacker privileges.

3

What is the immediate mitigation if the fix cannot be applied?

Avoid conditions that cause kernel-thread creation to fail during the boot-time event self-test, particularly memory pressure. The provided fix adds a result check and WARN_ON() so a failed self-test thread creation is reported rather than passed to kthread_stop().

4

How can administrators identify an affected failure?

Look for a kernel crash associated with the tracing event self-test after kthread_run() fails and an ERR_PTR value is passed to kthread_stop(). The fixed behavior emits a warning for self-test thread creation failure instead of dereferencing the invalid pointer.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203