Tracing updates for 5.20 / 6.0

- Runtime verification infrastructure
  This is the biggest change for this pull request. It introduces the
  runtime verification that is necessary for running Linux on safety
  critical systems. It allows for deterministic automata models to be
  inserted into the kernel that will attach to tracepoints, where the
  information on these tracepoints will move the model from state to state.
  If a state is encountered that does not belong to the model, it will then
  activate a given reactor, that could just inform the user or even panic
  the kernel (for which safety critical systems will detect and can recover
  from).

- Two monitor models are also added: Wakeup In Preemptive (WIP - not to be
  confused with "work in progress"), and Wakeup While Not Running (WWNR).

- Added __vstring() helper to the TRACE_EVENT() macro to replace several
  vsnprintf() usages that were all doing it wrong.

- eprobes now can have their event autogenerated when the event name is left
  off.

- The rest is various cleanups and fixes.
rv: Unlock on error path in rv_unregister_reactor()

Unlock the "rv_interface_lock" mutex before returning.

Link: https://lkml.kernel.org/r/YuvYzNfGMgV+PIhd@kili

Fixes: 04acadcb4453 ("rv: Add runtime reactors interface")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
1 file changed