1. 23 Aug, 2018 2 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 452938cb
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Masami found an off by one bug in the code that keeps "notrace"
        functions from being traced by kprobes. During my testing, I found
        that there's places that we may want to add kprobes to notrace, thus
        we may end up changing this code before 4.19 is released.
      
        The history behind this change is that we found that adding kprobes to
        various notrace functions caused the kernel to crashed. We took the
        safe route and decided not to allow kprobes to trace any notrace
        function.
      
        But because notrace is added to functions that just cause weird side
        effects to the function tracer, but are still safe, preventing kprobes
        for all notrace functios may be too much of a big hammer.
      
        One such place is __schedule() is marked notrace, to keep function
        tracer from doing strange recursive loops when it gets traced with
        NEED_RESCHED set. With this change, one can not add kprobes to the
        scheduler.
      
        Masami also added code to use gcov on ftrace"
      
      * tag 'trace-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/kprobes: Fix to check notrace function with correct range
        tracing: Allow gcov profiling on only ftrace subsystem
      452938cb
    • Nick Desaulniers's avatar
      include/linux/compiler*.h: make compiler-*.h mutually exclusive · 815f0ddb
      Nick Desaulniers authored
      Commit cafa0010 ("Raise the minimum required gcc version to 4.6")
      recently exposed a brittle part of the build for supporting non-gcc
      compilers.
      
      Both Clang and ICC define __GNUC__, __GNUC_MINOR__, and
      __GNUC_PATCHLEVEL__ for quick compatibility with code bases that haven't
      added compiler specific checks for __clang__ or __INTEL_COMPILER.
      
      This is brittle, as they happened to get compatibility by posing as a
      certain version of GCC.  This broke when upgrading the minimal version
      of GCC required to build the kernel, to a version above what ICC and
      Clang claim to be.
      
      Rather than always including compiler-gcc.h then undefining or
      redefining macros in compiler-intel.h or compiler-clang.h, let's
      separate out the compiler specific macro definitions into mutually
      exclusive headers, do more proper compiler detection, and keep shared
      definitions in compiler_types.h.
      
      Fixes: cafa0010 ("Raise the minimum required gcc version to 4.6")
      Reported-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Suggested-by: default avatarEli Friedman <efriedma@codeaurora.org>
      Suggested-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      815f0ddb
  2. 22 Aug, 2018 38 commits