Home
last modified time | relevance | path

Searched refs:rseq (Results 1 – 25 of 33) sorted by relevance

12

/linux/include/linux/
H A Drseq_entry.h100 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 Drseq.h16 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 Drseq_types.h10 struct rseq;
111 struct rseq __user *usrptr;
H A Dsyscalls.h66 struct rseq;
961 asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len,
/linux/kernel/
H A Drseq.c246 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 Dptrace.c796 .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 Dsys_ni.c392 COND_SYSCALL(rseq);
H A DMakefile139 obj-$(CONFIG_RSEQ) += rseq.o
/linux/tools/testing/selftests/rseq/
H A DMakefile30 $(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 Drseq.h3 #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 Drseq.h102 struct rseq { struct
/linux/tools/testing/selftests/
H A DMakefile100 TARGETS += rseq
/linux/tools/perf/arch/mips/entry/syscalls/
H A Dsyscall_n64.tbl338 327 n64 rseq sys_rseq
/linux/tools/testing/selftests/kvm/
H A DMakefile.kvm268 -I ../rseq -I.. $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
/linux/scripts/
H A Dsyscall.tbl344 293 common rseq sys_rseq
/linux/tools/perf/arch/arm64/entry/syscalls/
H A Dsyscall_64.tbl344 293 common rseq sys_rseq
H A Dsyscall_32.tbl413 398 common rseq sys_rseq
/linux/arch/arm64/tools/
H A Dsyscall_64.tbl344 293 common rseq sys_rseq
/linux/tools/perf/arch/s390/entry/syscalls/
H A Dsyscall.tbl337 383 common rseq sys_rseq
/linux/tools/scripts/
H A Dsyscall.tbl344 293 common rseq sys_rseq
/linux/tools/perf/arch/parisc/entry/syscalls/
H A Dsyscall.tbl401 354 common rseq sys_rseq
/linux/tools/perf/arch/sh/entry/syscalls/
H A Dsyscall.tbl397 387 common rseq sys_rseq
/linux/tools/perf/arch/xtensa/entry/syscalls/
H A Dsyscall.tbl375 352 common rseq sys_rseq
/linux/tools/perf/arch/x86/entry/syscalls/
H A Dsyscall_64.tbl346 334 common rseq sys_rseq
/linux/tools/perf/arch/alpha/entry/syscalls/
H A Dsyscall.tbl458 527 common rseq sys_rseq

12