| /linux/include/linux/ |
| H A D | rseq_entry.h | 100 if (likely(!current->rseq.slice.state.granted)) in rseq_arm_slice_extension_timer() 108 if (IS_ENABLED(CONFIG_RSEQ_STATS) && t->rseq.slice.state.granted) in rseq_slice_clear_grant() 110 t->rseq.slice.state.granted = false; in rseq_slice_clear_grant() 118 struct rseq __user *rseq; in rseq_grant_slice_extension() local 124 state = curr->rseq.slice.state; in rseq_grant_slice_extension() 125 state.enabled &= curr->rseq.event.user_irq; in rseq_grant_slice_extension() 129 rseq = curr->rseq.usrptr; in rseq_grant_slice_extension() 130 scoped_user_rw_access(rseq, efault) { in rseq_grant_slice_extension() 144 unsafe_put_user(0U, &rseq->slice_ctrl.all, efault); in rseq_grant_slice_extension() 149 unsafe_get_user(usr_ctrl.all, &rseq->slice_ctrl.all, efault); in rseq_grant_slice_extension() [all …]
|
| H A D | rseq.h | 16 if (current->rseq.event.slowpath) in rseq_handle_slowpath() 20 if (current->rseq.event.sched_switch & current->rseq.event.has_rseq) in rseq_handle_slowpath() 35 if (current->rseq.event.has_rseq & current->rseq.event.user_irq) in rseq_signal_deliver() 38 if (current->rseq.event.has_rseq) in rseq_signal_deliver() 51 struct rseq_event *ev = &t->rseq.event; in rseq_sched_switch_event() 69 t->rseq.event.sched_switch = true; in rseq_sched_switch_event() 84 t->rseq.event.ids_changed = true; in rseq_sched_set_ids_changed() 90 if (current->rseq.event.has_rseq) { in rseq_force_update() 91 current->rseq.event.ids_changed = true; in rseq_force_update() 92 current->rseq.event.sched_switch = true; in rseq_force_update() [all …]
|
| H A D | rseq_types.h | 10 struct rseq; 111 struct rseq __user *usrptr;
|
| H A D | syscalls.h | 66 struct rseq; 961 asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len,
|
| /linux/kernel/ |
| H A D | rseq.c | 246 struct rseq __user *urseq = t->rseq.usrptr; in rseq_handle_cs() 295 event = t->rseq.event.sched_switch; in rseq_slowpath_update_usr() 296 t->rseq.event.all &= evt_mask.all; in rseq_slowpath_update_usr() 311 t->rseq.event.error = 0; in rseq_slowpath_update_usr() 349 current->rseq.event.error = 0; in __rseq_signal_deliver() 363 if (!t->rseq.event.has_rseq) in __rseq_debug_syscall_return() 365 if (get_user(csaddr, &t->rseq.usrptr->rseq_cs)) in __rseq_debug_syscall_return() 410 SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len, int, flags, u32, sig) in SYSCALL_DEFINE4() argument 418 if (current->rseq.usrptr != rseq || !current->rseq.usrptr) in SYSCALL_DEFINE4() 420 if (rseq_len != current->rseq.len) in SYSCALL_DEFINE4() [all …]
|
| H A D | ptrace.c | 796 .rseq_abi_pointer = (u64)(uintptr_t)task->rseq.usrptr, in ptrace_get_rseq_configuration() 797 .rseq_abi_size = task->rseq.len, in ptrace_get_rseq_configuration() 798 .signature = task->rseq.sig, in ptrace_get_rseq_configuration()
|
| H A D | sys_ni.c | 392 COND_SYSCALL(rseq);
|
| H A D | Makefile | 139 obj-$(CONFIG_RSEQ) += rseq.o
|
| /linux/tools/testing/selftests/rseq/ |
| H A D | Makefile | 30 $(OUTPUT)/librseq.so: rseq.c rseq.h rseq-*.h 33 $(OUTPUT)/%: %.c $(TEST_GEN_PROGS_EXTENDED) rseq.h rseq-*.h 36 $(OUTPUT)/basic_percpu_ops_mm_cid_test: basic_percpu_ops_test.c $(TEST_GEN_PROGS_EXTENDED) rseq.h rseq-*.h 40 rseq.h rseq-*.h 44 rseq [all...] |
| /linux/include/trace/events/ |
| H A D | rseq.h | 3 #define TRACE_SYSTEM rseq 24 __entry->cpu_id = t->rseq.ids.cpu_id; 26 __entry->mm_cid = t->rseq.ids.mm_cid;
|
| /linux/include/uapi/linux/ |
| H A D | rseq.h | 102 struct rseq { struct
|
| /linux/tools/testing/selftests/ |
| H A D | Makefile | 100 TARGETS += rseq
|
| /linux/tools/perf/arch/mips/entry/syscalls/ |
| H A D | syscall_n64.tbl | 338 327 n64 rseq sys_rseq
|
| /linux/tools/testing/selftests/kvm/ |
| H A D | Makefile.kvm | 268 -I ../rseq -I.. $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
|
| /linux/scripts/ |
| H A D | syscall.tbl | 344 293 common rseq sys_rseq
|
| /linux/tools/perf/arch/arm64/entry/syscalls/ |
| H A D | syscall_64.tbl | 344 293 common rseq sys_rseq
|
| H A D | syscall_32.tbl | 413 398 common rseq sys_rseq
|
| /linux/arch/arm64/tools/ |
| H A D | syscall_64.tbl | 344 293 common rseq sys_rseq
|
| /linux/tools/perf/arch/s390/entry/syscalls/ |
| H A D | syscall.tbl | 337 383 common rseq sys_rseq
|
| /linux/tools/scripts/ |
| H A D | syscall.tbl | 344 293 common rseq sys_rseq
|
| /linux/tools/perf/arch/parisc/entry/syscalls/ |
| H A D | syscall.tbl | 401 354 common rseq sys_rseq
|
| /linux/tools/perf/arch/sh/entry/syscalls/ |
| H A D | syscall.tbl | 397 387 common rseq sys_rseq
|
| /linux/tools/perf/arch/xtensa/entry/syscalls/ |
| H A D | syscall.tbl | 375 352 common rseq sys_rseq
|
| /linux/tools/perf/arch/x86/entry/syscalls/ |
| H A D | syscall_64.tbl | 346 334 common rseq sys_rseq
|
| /linux/tools/perf/arch/alpha/entry/syscalls/ |
| H A D | syscall.tbl | 458 527 common rseq sys_rseq
|