• Frederic Weisbecker's avatar
    tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 · 0ca59dd9
    Frederic Weisbecker authored
    Impact: fix a crash/hard-reboot on certain configs while enabling cpu runtime
    
    On some archs, the boot of a secondary cpu can have an early fragile state.
    On x86-64, the pda is not initialized on the first stage of a cpu boot but
    it is needed to get the cpu number and the current task pointer. This data
    is needed during tracing. As they were dereferenced at this stage, we got a
    crash while tracing a cpu being enabled at runtime.
    
    Some other archs like ia64 can have such kind of issue too.
    
    Changes on v2:
    
    We dropped the previous solution of a per-arch called function to guess the
    current state of a cpu. That could slow down the tracing.
    
    This patch removes the -pg flag on arch/x86/kernel/cpu/common.c where
    the low level cpu boot functions exist, on start_secondary() and a helper
    function used at this stage.
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Acked-by: default avatarSteven Rostedt <srostedt@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    0ca59dd9
smpboot.c 34.7 KB