Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  • Thomas Gleixner's avatar
    context_tracking: Ensure that the critical path cannot be instrumented · 0372007f
    Thomas Gleixner authored
    context tracking lacks a few protection mechanisms against instrumentation:
    
     - While the core functions are marked NOKPROBE they lack protection
       against function tracing which is required as the function entry/exit
       points can be utilized by BPF.
    
     - static functions invoked from the protected functions need to be marked
       as well as they can be instrumented otherwise.
    
     - using plain inline allows the compiler to emit traceable and probable
       functions.
    
    Fix this by marking the functions noinstr and converting the plain inlines
    to __always_inline.
    
    The NOKPROBE_SYMBOL() annotations are removed as the .noinstr.text section
    is already excluded from being probed.
    
    Cures the following objtool warnings:
    
     vmlinux.o: warning: objtool: enter_from_user_mode()+0x34: call to __context_tracking_exit() leaves .noinstr.text section
     vmlinux.o: warning: objtool: prepare_exit_to_usermode()+0x29: call to __context_tracking_enter() leaves .noi...
    0372007f
Forked from BeagleBoard.org / Linux
253446 commits behind the upstream repository.
context_tracking.c 6.41 KiB