Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'trace-rv-v6.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull runtime verifier fixes from Steven Rostedt:

- Fix build in some RISC-V flavours

Some system calls only are available for the 64bit RISC-V machines.
#ifdef out the cases of clock_nanosleep and futex in the sleep
monitor if they are not supported by the architecture.

- Fix wrong cast, obsolete after refactoring

Use container_of() to get to the rv_monitor structure from the
enable_monitors_next() 'p' pointer. The assignment worked only
because the list field used happened to be the first field of the
structure.

- Remove redundant include files

Some include files were listed twice. Remove the extra ones and sort
the includes.

- Fix missing unlock on failure

There was an error path that exited the rv_register_monitor()
function without releasing a lock. Change that to goto the lock
release.

- Add Gabriele Monaco to be Runtime Verifier maintainer

Gabriele is doing most of the work on RV as well as collecting
patches. Add him to the maintainers file for Runtime Verification.

* tag 'trace-rv-v6.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
rv: Add Gabriele Monaco as maintainer for Runtime Verification
rv: Fix missing mutex unlock in rv_register_monitor()
include/linux/rv.h: remove redundant include file
rv: Fix wrong type cast in enabled_monitors_next()
rv: Support systems with time64-only syscalls

+10 -7
+1
MAINTAINERS
··· 22052 22052 22053 22053 RUNTIME VERIFICATION (RV) 22054 22054 M: Steven Rostedt <rostedt@goodmis.org> 22055 + M: Gabriele Monaco <gmonaco@redhat.com> 22055 22056 L: linux-trace-kernel@vger.kernel.org 22056 22057 S: Maintained 22057 22058 F: Documentation/trace/rv/
+3 -5
include/linux/rv.h
··· 7 7 #ifndef _LINUX_RV_H 8 8 #define _LINUX_RV_H 9 9 10 - #include <linux/types.h> 11 - #include <linux/list.h> 12 - 13 10 #define MAX_DA_NAME_LEN 32 14 11 #define MAX_DA_RETRY_RACING_EVENTS 3 15 12 16 13 #ifdef CONFIG_RV 17 - #include <linux/bitops.h> 18 - #include <linux/types.h> 19 14 #include <linux/array_size.h> 15 + #include <linux/bitops.h> 16 + #include <linux/list.h> 17 + #include <linux/types.h> 20 18 21 19 /* 22 20 * Deterministic automaton per-object variables.
+4
kernel/trace/rv/monitors/sleep/sleep.c
··· 127 127 mon = ltl_get_monitor(current); 128 128 129 129 switch (id) { 130 + #ifdef __NR_clock_nanosleep 130 131 case __NR_clock_nanosleep: 132 + #endif 131 133 #ifdef __NR_clock_nanosleep_time64 132 134 case __NR_clock_nanosleep_time64: 133 135 #endif ··· 140 138 ltl_atom_update(current, LTL_CLOCK_NANOSLEEP, true); 141 139 break; 142 140 141 + #ifdef __NR_futex 143 142 case __NR_futex: 143 + #endif 144 144 #ifdef __NR_futex_time64 145 145 case __NR_futex_time64: 146 146 #endif
+2 -2
kernel/trace/rv/rv.c
··· 495 495 */ 496 496 static void *enabled_monitors_next(struct seq_file *m, void *p, loff_t *pos) 497 497 { 498 - struct rv_monitor *mon = p; 498 + struct rv_monitor *mon = container_of(p, struct rv_monitor, list); 499 499 500 500 (*pos)++; 501 501 ··· 805 805 806 806 retval = create_monitor_dir(monitor, parent); 807 807 if (retval) 808 - return retval; 808 + goto out_unlock; 809 809 810 810 /* keep children close to the parent for easier visualisation */ 811 811 if (parent)