• Steven Rostedt's avatar
    function-graph: enable the stack after initialization of other variables · 82310a32
    Steven Rostedt authored
    
    
    The function graph tracer checks if the task_struct has ret_stack defined
    to know if it is OK or not to use it. The initialization is done for
    all tasks by one process, but the idle tasks use the same initialization
    used by new tasks.
    
    If an interrupt happens on an idle task that just had the ret_stack
    created, but before the rest of the initialization took place, then
    we can corrupt the return address of the functions.
    
    This patch moves the setting of the task_struct's ret_stack to after
    the other variables have been initialized.
    
    [ Impact: prevent kernel panic on idle task when starting function graph ]
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    82310a32
trace_functions_graph.c 20.8 KB