• Linus Torvalds's avatar
    Merge tag 'trace-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 27529c89
    Linus Torvalds authored
    Pull tracing updates from Steven Rostedt:
     "There's not much changes for the tracing system this release. Mostly
      small clean ups and fixes.
    
      The biggest change is to how bprintf works. bprintf is used by
      trace_printk() to just save the format and args of a printf call, and
      the formatting is done when the trace buffer is read. This is done to
      keep the formatting out of the fast path (this was recommended by
      you). The issue is when arguments are de-referenced.
    
      If a pointer is saved, and the format has something like "%*pbl", when
      the buffer is read, it will de-reference the argument then. The
      problem is if the data no longer exists. This can cause the kernel to
      oops.
    
      The fix for this was to make these de-reference pointes do the
      formatting at the time it is called (the fast path), as this
      guarantees that the data exists (and doesn't change later)"
    
    * tag 'trace-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      vsprintf: Do not have bprintf dereference pointers
      ftrace: Mark function tracer test functions noinline/noclone
      trace_uprobe: Display correct offset in uprobe_events
      tracing: Make sure the parsed string always terminates with '\0'
      tracing: Clear parser->idx if only spaces are read
      tracing: Detect the string nul character when parsing user input string
    27529c89
vsprintf.c 74 KB