tree c231fc02ddbae39d3eb8306e4f095a7927b75568
parent 280d542f6ffac0e6d65dc267f92191d509b13b64
parent f9f344479d8b40b3b001c913fb992d85d19261d0
author Linus Torvalds <torvalds@linux-foundation.org> 1614974699 -0800
committer Linus Torvalds <torvalds@linux-foundation.org> 1614974699 -0800
mergetag object f9f344479d8b40b3b001c913fb992d85d19261d0
 type commit
 tag trace-v5.12-rc1
 tagger Steven Rostedt <rostedt@goodmis.org> 1614953080 -0500
 
 Functional fixes:
 
  - Fix big endian conversion for arm64 in recordmcount processing
 
  - Fix timestamp corruption in ring buffer on discarding events
 
  - Fix memory leak in __create_synth_event()
 
  - Skip selftests if tracing is disabled as it will cause them to fail.
 
 Non-functional fixes:
 
  - Fix help text in Kconfig
 
  - Remove duplicate prototype for trace_empty()
 
  - Fix stale comment about the trace_event_call flags.
 
 Self test update:
 
  - Add more information to the validation output of when a
    corrupt timestamp is found in the ring buffer, and also
    trigger a warning to make sure that tests catch it.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCYEI7FxQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qrnYAP93jtHWFVYqhvGs8tVxpIus6wwFS5q8
 T5VPEYp5ucHuRgD6A/MTmzi4zYeTYd8XwyzX6DC0XLhaGkRKDe/PC1V5jA8=
 =tBtN
 -----END PGP SIGNATURE-----

Merge tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull tracing fixes from Steven Rostedt:
 "Functional fixes:

   - Fix big endian conversion for arm64 in recordmcount processing

   - Fix timestamp corruption in ring buffer on discarding events

   - Fix memory leak in __create_synth_event()

   - Skip selftests if tracing is disabled as it will cause them to
     fail.

  Non-functional fixes:

   - Fix help text in Kconfig

   - Remove duplicate prototype for trace_empty()

   - Fix stale comment about the trace_event_call flags.

  Self test update:

   - Add more information to the validation output of when a corrupt
     timestamp is found in the ring buffer, and also trigger a warning
     to make sure that tests catch it"

* tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Fix comment about the trace_event_call flags
  tracing: Skip selftests if tracing is disabled
  tracing: Fix memory leak in __create_synth_event()
  ring-buffer: Add a little more information and a WARN when time stamp going backwards is detected
  ring-buffer: Force before_stamp and write_stamp to be different on discard
  tracing: Fix help text of TRACEPOINT_BENCHMARK in Kconfig
  tracing: Remove duplicate declaration from trace.h
  ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
