CVE-2023-54211

Source
https://cve.org/CVERecord?id=CVE-2023-54211
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54211.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-54211
Downstream
Related
Published
2025-12-30T12:11:09.356Z
Modified
2026-03-31T17:29:56.474316491Z
Summary
tracing: Fix warning in trace_buffered_event_disable()
Details

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

tracing: Fix warning in tracebufferedevent_disable()

Warning happened in tracebufferedeventdisable() at WARNONONCE(!tracebufferedeventref)

Call Trace: ? __warn+0xa5/0x1b0 ? tracebufferedevent_disable+0x189/0x1b0 __ftraceeventenabledisable+0x19e/0x3e0 freeprobedata+0x3b/0xa0 unregisterftracefunctionprobefunc+0x6b8/0x800 eventenablefunc+0x2f0/0x3d0 ftraceprocessregex.isra.0+0x12d/0x1b0 ftracefilterwrite+0xe6/0x140 vfswrite+0x1c9/0x6f0 [...]

The cause of the warning is in _ftraceeventenabledisable(), tracebufferedeventenable() was called once while tracebufferedeventdisable() was called twice. Reproduction script show as below, for analysis, see the comments:

#!/bin/bash

cd /sys/kernel/tracing/

# 1. Register a 'disable_event' command, then:
#    1) SOFT_DISABLED_BIT was set;
#    2) trace_buffered_event_enable() was called first time;
echo 'cmdline_proc_show:disable_event:initcall:initcall_finish' > \
    set_ftrace_filter

# 2. Enable the event registered, then:
#    1) SOFT_DISABLED_BIT was cleared;
#    2) trace_buffered_event_disable() was called first time;
echo 1 > events/initcall/initcall_finish/enable

# 3. Try to call into cmdline_proc_show(), then SOFT_DISABLED_BIT was
#    set again!!!
cat /proc/cmdline

# 4. Unregister the 'disable_event' command, then:
#    1) SOFT_DISABLED_BIT was cleared again;
#    2) trace_buffered_event_disable() was called second time!!!
echo '!cmdline_proc_show:disable_event:initcall:initcall_finish' > \
    set_ftrace_filter
 

To fix it, IIUC, we can change to call tracebufferedeventenable() at fist time soft-mode enabled, and call tracebufferedeventdisable() at last time soft-mode disabled.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54211.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0fc1b09ff1ff404ddf753f5ffa5cd0adc8fdcdc9
Fixed
1488d782c9e43087a3f341b8186cd25f3cf75583
Fixed
b4f4ab423107dc1ba8e9cc6488c645be6403d3f5
Fixed
cdcc35e6454133feb61561b4e0d0c80e52cbc2ba
Fixed
a6d2fd1703cdc8ecfc3e73987e0fb7474ae2b074
Fixed
813cede7b2f5a4b1b75d2d4bb4e705cc8e063b20
Fixed
a3a3c7bddab9b6c5690b20796ef5e332b8c48afb
Fixed
528c9d73153754defb748f0b96ad33308668d817
Fixed
dea499781a1150d285c62b26659f62fb00824fce

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54211.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.7.0
Fixed
4.14.322
Type
ECOSYSTEM
Events
Introduced
4.15.0
Fixed
4.19.291
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.253
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.190
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.124
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.43
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.4.8

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54211.json"