• Kees Cook's avatar
    gcc-plugins/stackleak: Use noinstr in favor of notrace · dcb85f85
    Kees Cook authored
    While the stackleak plugin was already using notrace, objtool is now a
    bit more picky.  Update the notrace uses to noinstr.  Silences the
    following objtool warnings when building with:
    
    CONFIG_DEBUG_ENTRY=y
    CONFIG_STACK_VALIDATION=y
    CONFIG_VMLINUX_VALIDATION=y
    CONFIG_GCC_PLUGIN_STACKLEAK=y
    
      vmlinux.o: warning: objtool: do_syscall_64()+0x9: call to stackleak_track_stack() leaves .noinstr.text section
      vmlinux.o: warning: objtool: do_int80_syscall_32()+0x9: call to stackleak_track_stack() leaves .noinstr.text section
      vmlinux.o: warning: objtool: exc_general_protection()+0x22: call to stackleak_track_stack() leaves .noinstr.text section
      vmlinux.o: warning: objtool: fixup_bad_iret()+0x20: call to stackleak_track_stack() leaves .noinstr.text section
      vmlinux.o: warning: objtool: do_machine_check()+0x27: call to stackleak_track_stack() leaves .noinstr.text section
      vmlinux.o: warning: objtool: .text+0x5346e: call to stackleak_erase() leaves .noinstr.text section
      vmlinux.o: warning: objtool: .entry.text+0x143: call to stackleak_erase() leaves .noinstr.text section
      vmlinux.o: warning: objtool: .entry.text+0x10eb: call to stackleak_erase() leaves .noinstr.text section
      vmlinux.o: warning: objtool: .entry.text+0x17f9: call to stackleak_erase() leaves .noinstr.text section
    
    Note that the plugin's addition of calls to stackleak_track_stack() from
    noinstr functions is expected to be safe, as it isn't runtime
    instrumentation and is self-contained.
    
    Cc: Alexander Popov <alex.popov@linux.com>
    Suggested-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    dcb85f85
stackleak.c 4.06 KB