<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/tools/verification/rv/src/rv.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2025-07-24T14:43:46Z</updated>
<entry>
<title>tools/rv: Stop gracefully also on SIGTERM</title>
<updated>2025-07-24T14:43:46Z</updated>
<author>
<name>Gabriele Monaco</name>
<email>gmonaco@redhat.com</email>
</author>
<published>2025-07-23T16:12:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1160ccaf772ffd8f9388da26d1832c7da845e7b4'/>
<id>urn:sha1:1160ccaf772ffd8f9388da26d1832c7da845e7b4</id>
<content type='text'>
Currently the userspace RV tool starts a monitor and waits for the user
to press Ctrl-C (SIGINT) to terminate and stop the monitor.
This doesn't account for a scenario where a user starts RV in background
and simply kills it (SIGTERM unless the user specifies differently).
E.g.:
 # rv mon wip &amp;
 # kill %

Would terminate RV without stopping the monitor and next RV executions
won't start correctly.

Register the signal handler used for SIGINT also to SIGTERM.

Cc: Nam Cao &lt;namcao@linutronix.de&gt;
Cc: Tomas Glozar &lt;tglozar@redhat.com&gt;
Cc: Juri Lelli &lt;jlelli@redhat.com&gt;
Cc: Clark Williams &lt;williams@redhat.com&gt;
Cc: John Kacur &lt;jkacur@redhat.com&gt;
Link: https://lore.kernel.org/20250723161240.194860-3-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco &lt;gmonaco@redhat.com&gt;
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tools/rv: Allow rv list to filter for container</title>
<updated>2025-03-24T21:27:40Z</updated>
<author>
<name>Gabriele Monaco</name>
<email>gmonaco@redhat.com</email>
</author>
<published>2025-03-05T14:04:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4ffef9579ffc51647c5eb55869fb310f3c1e2db2'/>
<id>urn:sha1:4ffef9579ffc51647c5eb55869fb310f3c1e2db2</id>
<content type='text'>
Add possibility to supply the container name to rv list:

  # rv list sched
  mon1
  mon2
  mon3

This lists only monitors in sched, without indentation.
Supplying -h, any option (string starting with -) or more than 1
argument will still print the usage.
Passing a non-existent container prints nothing and passing no container
continues to print all monitors, showing indentation for nested
monitors, reported after their container.

Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Juri Lelli &lt;juri.lelli@redhat.com&gt;
Link: https://lore.kernel.org/20250305140406.350227-10-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco &lt;gmonaco@redhat.com&gt;
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>rv: Fix addition on an uninitialized variable 'run'</title>
<updated>2023-04-25T21:02:13Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.i.king@gmail.com</email>
</author>
<published>2023-04-24T09:47:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=54a0dffa62de0c91b406ff32082a121ccfa0d7f1'/>
<id>urn:sha1:54a0dffa62de0c91b406ff32082a121ccfa0d7f1</id>
<content type='text'>
The variable run is not initialized however it is being accumulated
by the return value from the call to ikm_run_monitor.  Fix this by
initializing run to zero at the start of the function.

Link: https://lkml.kernel.org/r/20230424094730.105313-1-colin.i.king@gmail.com

Fixes: 4bc4b131d44c ("rv: Add rv tool")

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Acked-by: Daniel Bristot de Oliveira &lt;bristot@kernel.org&gt;
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tools/rv: Add in-kernel monitor interface</title>
<updated>2022-12-09T23:06:24Z</updated>
<author>
<name>Daniel Bristot de Oliveira</name>
<email>bristot@kernel.org</email>
</author>
<published>2022-11-11T15:53:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6d60f89691fc979e55b88508f4cfa8f6b4c56eac'/>
<id>urn:sha1:6d60f89691fc979e55b88508f4cfa8f6b4c56eac</id>
<content type='text'>
Add the ability to control and trace in-kernel monitors. This is
a generic interface, it will check for existing monitors and enable
standard setup, like enabling reactors.

For example:

  # rv list
  wip                      wakeup in preemptive per-cpu testing monitor. [OFF]
  wwnr                     wakeup while not running per-task testing model. [OFF]

  # rv mon wwnr --help
  rv version 6.1.0-rc4: help

  usage: rv mon wwnr [-h] [-q] [-r reactor] [-s] [-v]
	-h/--help: print this menu and the reactor list
	-r/--reactor 'reactor': enables the 'reactor'
	-s/--self: when tracing (-t), also trace rv command
	-t/--trace: trace monitor's event
	-v/--verbose: print debug messages

  available reactors: nop printk panic

  # rv mon wwnr --trace
          &lt;TASK&gt;-PID      [CPU]  TYPE       ID                    STATE x EVENT                    -&gt; NEXT_STATE               FINAL
              |   |          |     |        |                        |     |                           |                       |
              rv-3613     [001] event     3613                  running x switch_out               -&gt; not_running              Y
            sshd-1248     [005] event     1248                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [005] event       71              not_running x wakeup                   -&gt; not_running              Y
          &lt;idle&gt;-0        [005] event       71              not_running x switch_in                -&gt; running                  N
      kcompactd0-71       [005] event       71                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x wakeup                   -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x switch_in                -&gt; running                  N
    systemd-oomd-860      [000] event      860                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x wakeup                   -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x switch_in                -&gt; running                  N
    systemd-oomd-860      [000] event      860                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [005] event       71              not_running x wakeup                   -&gt; not_running              Y
          &lt;idle&gt;-0        [005] event       71              not_running x switch_in                -&gt; running                  N
      kcompactd0-71       [005] event       71                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x wakeup                   -&gt; not_running              Y
          &lt;idle&gt;-0        [000] event      860              not_running x switch_in                -&gt; running                  N
    systemd-oomd-860      [000] event      860                  running x switch_out               -&gt; not_running              Y
          &lt;idle&gt;-0        [001] event     3613              not_running x wakeup                   -&gt; not_running              Y

Link: https://lkml.kernel.org/r/1e57547e3acadda6e23949b2672c89e76ec2ec42.1668180100.git.bristot@kernel.org

Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;
Signed-off-by: Daniel Bristot de Oliveira &lt;bristot@kernel.org&gt;
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>rv: Add rv tool</title>
<updated>2022-12-09T23:06:24Z</updated>
<author>
<name>Daniel Bristot de Oliveira</name>
<email>bristot@kernel.org</email>
</author>
<published>2022-11-11T15:53:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4bc4b131d44c8ead00130fae678ff6c3417d7e13'/>
<id>urn:sha1:4bc4b131d44c8ead00130fae678ff6c3417d7e13</id>
<content type='text'>
This is the (user-space) runtime verification tool, named rv.

This tool aims to be the interface for in-kernel rv monitors, as
well as the home for monitors in user-space (online asynchronous),
and in *eBPF.

The tool receives a command as the first argument, the current
commands are:

  list	- list all available monitors
  mon	- run a given monitor

Each monitor is an independent piece of software inside the
tool and can have their own arguments.

There is no monitor implemented in this patch, it only
adds the basic structure of the tool, based on rtla.

  # rv --help
    rv version 6.1.0-rc4: help

    usage: rv command [-h] [command_options]

	-h/--help: print this menu

	command: run one of the following command:
	  list: list all available monitors
	  mon:  run a monitor

	[command options]: each command has its own set of options
		           run rv command -h for further information

*dot2bpf is the next patch set, depends on this, doing cleanups.

Link: https://lkml.kernel.org/r/fb51184f3b95aea0d7bfdc33ec09f4153aee84fa.1668180100.git.bristot@kernel.org

Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;
Signed-off-by: Daniel Bristot de Oliveira &lt;bristot@kernel.org&gt;
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
</feed>
