Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: tracing: Make sure trace_printk() can output as soon as it can be used Currently trace_printk() can be used as soon as early_trace_init() is called from start_kernel(). But if a crash happens, and "ftrace_dump_on_oops" is set on the kernel command line, all you get will be: [ 0.456075] <idle>-0 0dN.2. 347519us : Unknown type 6 [ 0.456075] <idle>-0 0dN.2. 353141us : Unknown type 6 [ 0.456075] <idle>-0 0dN.2. 358684us : Unknown type 6 This is because the trace_printk() event (type 6) hasn't been registered yet. That gets done via an early_initcall(), which may be early, but not early enough. Instead of registering the trace_printk() event (and other ftrace events, which are not trace events) via an early_initcall(), have them registered at the same time that trace_printk() can be used. This way, if there is a crash before early_initcall(), then the trace_printk()s will actually be useful.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected e725c731e3bb1e892e7b564c945b121cb41d1087 before f97eb0ab066133483a65c93eb894748de2f6b598; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before b94d7c7654356860dd7719120c7d15ba38b6162a; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before 76b2390fdc80c0a8300e5da5b6b62d201b6fe9ce; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before de3930a4883ddad2244efd6d349013294c62c75c; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before b0af180514edea6c83dc9a299d9f383009c99f25; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before 198c83963f6335ca6d690cff067679560f2a3a22; affected e725c731e3bb1e892e7b564c945b121cb41d1087 before 3bb06eb6e9acf7c4a3e1b5bc87aed398ff8e2253 |
| Linux / Linux | affected 4.12; unaffected 0 before 4.12; unaffected 4.14.305 through 4.14.*; unaffected 4.19.272 through 4.19.*; unaffected 5.4.231 through 5.4.*; unaffected 5.10.166 through 5.10.*; unaffected 5.15.91 through 5.15.*; unaffected 6.1.9 through 6.1.*; unaffected 6.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/f97eb0ab066133483a65c93eb894748de2f6b598
- https://git.kernel.org/stable/c/b94d7c7654356860dd7719120c7d15ba38b6162a
- https://git.kernel.org/stable/c/76b2390fdc80c0a8300e5da5b6b62d201b6fe9ce
- https://git.kernel.org/stable/c/de3930a4883ddad2244efd6d349013294c62c75c
- https://git.kernel.org/stable/c/b0af180514edea6c83dc9a299d9f383009c99f25
- https://git.kernel.org/stable/c/198c83963f6335ca6d690cff067679560f2a3a22
- https://git.kernel.org/stable/c/3bb06eb6e9acf7c4a3e1b5bc87aed398ff8e2253