• Steven Rostedt (Red Hat)'s avatar
    ftrace: Add check for NULL regs if ops has SAVE_REGS set · 195a8afc
    Steven Rostedt (Red Hat) authored
    If a ftrace ops is registered with the SAVE_REGS flag set, and there's
    already a ops registered to one of its functions but without the
    SAVE_REGS flag, there's a small race window where the SAVE_REGS ops gets
    added to the list of callbacks to call for that function before the
    callback trampoline gets set to save the regs.
    
    The problem is, the function is not currently saving regs, which opens
    a small race window where the ops that is expecting regs to be passed
    to it, wont. This can cause a crash if the callback were to reference
    the regs, as the SAVE_REGS guarantees that regs will be set.
    
    To fix this, we add a check in the loop case where it checks if the ops
    has the SAVE_REGS flag set, and if so, it will ignore it if regs is
    not set.
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    195a8afc
ftrace.c 110 KB