---
id: CVE-2026-99247
title: 'tracing: Do not initialize tracefs work if tracing is disabled'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tracing: Do not initialize tracefs work if tracing is disabled

  If trace buffer allocation fails during early boot (e.g.  in
  early_trace_init() -> allocate_trace_buffer…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    e8665e884e076d894f3eed8b9ea28e37a6448604
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    e8cfcd7e60eaa3b0dea4d71c64499604e7081736
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    afd38b10b1c6a5c5d6952b15b990596dab9684e6
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    813e18881c6472eb229a63180ff42c808e3e949b
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    7539c61f522ff693d9565a0411386c2236e776cd
  - >-
    Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b <
    b3b974008388ab59e44d764ba7a63c988fec2524
  - Linux 5.19
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T11:18:26.163Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99247'
references:
  - url: 'https://git.kernel.org/stable/c/e8665e884e076d894f3eed8b9ea28e37a6448604'
  - url: 'https://git.kernel.org/stable/c/e8cfcd7e60eaa3b0dea4d71c64499604e7081736'
  - url: 'https://git.kernel.org/stable/c/afd38b10b1c6a5c5d6952b15b990596dab9684e6'
  - url: 'https://git.kernel.org/stable/c/813e18881c6472eb229a63180ff42c808e3e949b'
  - url: 'https://git.kernel.org/stable/c/7539c61f522ff693d9565a0411386c2236e776cd'
  - url: 'https://git.kernel.org/stable/c/b3b974008388ab59e44d764ba7a63c988fec2524'
tags:
  - cve.org
epss: 0.00161
epssPercentile: 0.05339
ingestedAt: '2026-11-05T19:30:42.936Z'
---

## Overview

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

tracing: Do not initialize tracefs work if tracing is disabled

If trace buffer allocation fails during early boot (e.g.  in
early_trace_init() -> allocate_trace_buffers()), tracing_disabled is
left set to 1 and the global trace array events list remains
uninitialized.

Later during boot, tracer_init_tracefs() (invoked via fs_initcall)
queues tracerfs_init_work asynchronously without checking if tracing was
disabled.  When tracer_init_tracefs_work_func() runs, it calls
event_trace_init() and init_tracer_tracefs(&global_trace, NULL)
unconditionally.  This leads to __find_event_file() dereferencing an
uninitialized tr->events list, causing an early boot NULL pointer
dereference Oops:

  BUG: Kernel NULL pointer dereference on read at 0x00000010
  Faulting instruction address: 0xc000000000485be0
  Oops: Kernel access of bad area, sig: 7 [#1]
  ...
  NIP [c000000000485be0] __find_event_file+0x70/0x3c0
  LR  [c000000000448874] init_tracer_tracefs+0x274/0xc80
  Call Trace:
   init_tracer_tracefs+0x274/0xc80
   tracer_init_tracefs_work_func+0x50/0x320
   process_one_work+0x1e8/0x5c0
   worker_thread+0x1dc/0x3d0
   kthread+0x194/0x1b0
   start_kernel_thread+0x14/0x18

Check tracing_disabled at the beginning of tracer_init_tracefs_work_func()
and return immediately if tracing is disabled or failed to initialize,
preventing the crash.

## Affected

- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < e8665e884e076d894f3eed8b9ea28e37a6448604`
- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < e8cfcd7e60eaa3b0dea4d71c64499604e7081736`
- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < afd38b10b1c6a5c5d6952b15b990596dab9684e6`
- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < 813e18881c6472eb229a63180ff42c808e3e949b`
- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < 7539c61f522ff693d9565a0411386c2236e776cd`
- `Linux >= 6621a7004684bfcff5af4c8e4d37989941f42a6b < b3b974008388ab59e44d764ba7a63c988fec2524`
- `Linux 5.19`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
