• Steven Rostedt (Red Hat)'s avatar
    tracing: Fix race in snapshot swapping · 2721e72d
    Steven Rostedt (Red Hat) authored
    Although the swap is wrapped with a spin_lock, the assignment
    of the temp buffer used to swap is not within that lock.
    It needs to be moved into that lock, otherwise two swaps
    happening on two different CPUs, can end up using the wrong
    temp buffer to assign in the swap.
    
    Luckily, all current callers of the swap function appear to have
    their own locks. But in case something is added that allows two
    different callers to call the swap, then there's a chance that
    this race can trigger and corrupt the buffers.
    
    New code is coming soon that will allow for this race to trigger.
    
    I've Cc'd stable, so this bug will not show up if someone backports
    one of the changes that can trigger this bug.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    2721e72d
trace.c 123 KB