CyberRota Analysis
AI-GeneratedThe vulnerability in the Linux kernel affects the tracing subsystem, where the function trace_module_add_events() fails to properly handle the return value of __register_event(). This oversight can lead to a use-after-free condition, potentially allowing an attacker to exploit stale pointers in trace_event_file, which may compromise system stability or security. Organizations utilizing Linux kernel versions that include this flaw should prioritize patching to mitigate the risk of exploitation.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: tracing: Check return value of __register_event() in trace_module_add_events() trace_module_add_events() ignores the return value of __register_event() and unconditionally calls __add_event_to_tracers() for each event. If __register_event() fails (for example, if event_init() fails), the trace_event_call is not added to ftrace_events list, but __add_event_to_tracers() still creates a trace_event_file pointing to it. If module loading subsequently fails and module memory is freed, tracing state retains a stale trace_event_call pointer in trace_event_file, leading to a use-after-free when tracefs or tracing subsystem operations are later executed. Fix this by checking the return value of __register_event() and only calling __add_event_to_tracers() if event registration succeeded.