Skip to content
  • Thomas Gleixner's avatar
    tracing/kprobes: Enforce kprobes teardown after testing · dd0023d7
    Thomas Gleixner authored
    commit 30e7d894 upstream.
    
    Enabling the tracer selftest triggers occasionally the warning in
    text_poke(), which warns when the to be modified page is not marked
    reserved.
    
    The reason is that the tracer selftest installs kprobes on functions marked
    __init for testing. These probes are removed after the tests, but that
    removal schedules the delayed kprobes_optimizer work, which will do the
    actual text poke. If the work is executed after the init text is freed,
    then the warning triggers. The bug can be reproduced reliably when the work
    delay is increased.
    
    Flush the optimizer work and wait for the optimizing/unoptimizing lists to
    become empty before returning from the kprobes tracer selftest. That
    ensures that all operations which were queued due to the probes removal
    have completed.
    
    Link: http://lkml.kernel.org/r/20170516094802.76a468bb@gandalf.local.home
    
    
    
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Acked-by: Ma...
    dd0023d7