In the Linux kernel, the following vulnerability has been resolved: ftrace: Add global mutex to serialize trace_parser access In ftrace, the trace_parser structure is allocated and initialized when a trace file is opened, and is subsequently used across write and release handlers to parse user input. The affected handler paths and their specific functions are: - Open paths: ftrace_regex_open(), ftrace_graph_open() - Write paths: ftrace_regex_write(), ftrace_graph_write() - Release paths: ftrace_regex_release(), ftrace_graph_release() If userspace opens a trace file descriptor and shares it across multiple threads, concurrent write calls will race on the parser's internal state, specifically the 'idx', 'cont', and 'buffer' fields, leading to corrupted input or undefined behavior. Fix this by adding a global mutex, parser_lock, to serialize all access to trace_parser across write and release paths, preventing concurrent corruption of parser state.
https://git.kernel.org/stable/c/e807c9193d9493c7a0d039158ebb955050a76df1
https://git.kernel.org/stable/c/90be137813e1a5bdfd671e40fe28004fb959d3e4
https://git.kernel.org/stable/c/7720b63bcef3f54c7fe288774b720a227d54a306
https://git.kernel.org/stable/c/65bf73bee1a4f3722208ae46afc0fa5de76b9a0a
https://git.kernel.org/stable/c/3d0dd138a06c782f8b755cd1b6f9909494514ce1