Lines Matching refs:rseq
88 struct rseq __user *rseq = t->rseq; in rseq_update_cpu_id() local
90 if (!user_write_access_begin(rseq, sizeof(*rseq))) in rseq_update_cpu_id()
92 unsafe_put_user(cpu_id, &rseq->cpu_id_start, efault_end); in rseq_update_cpu_id()
93 unsafe_put_user(cpu_id, &rseq->cpu_id, efault_end); in rseq_update_cpu_id()
111 if (put_user(cpu_id_start, &t->rseq->cpu_id_start)) in rseq_reset_rseq_cpu_id()
118 if (put_user(cpu_id, &t->rseq->cpu_id)) in rseq_reset_rseq_cpu_id()
132 if (get_user(ptr, &t->rseq->rseq_cs)) in rseq_get_rseq_cs()
135 if (copy_from_user(&ptr, &t->rseq->rseq_cs, sizeof(ptr))) in rseq_get_rseq_cs()
198 ret = get_user(flags, &t->rseq->flags); in rseq_need_restart()
228 return put_user(0UL, &t->rseq->rseq_cs); in clear_rseq_cs()
230 if (clear_user(&t->rseq->rseq_cs, sizeof(t->rseq->rseq_cs))) in clear_rseq_cs()
325 if (!t->rseq) in rseq_syscall()
336 SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len, in SYSCALL_DEFINE4() argument
345 if (current->rseq != rseq || !current->rseq) in SYSCALL_DEFINE4()
347 if (rseq_len != sizeof(*rseq)) in SYSCALL_DEFINE4()
354 current->rseq = NULL; in SYSCALL_DEFINE4()
362 if (current->rseq) { in SYSCALL_DEFINE4()
368 if (current->rseq != rseq || rseq_len != sizeof(*rseq)) in SYSCALL_DEFINE4()
380 if (!IS_ALIGNED((unsigned long)rseq, __alignof__(*rseq)) || in SYSCALL_DEFINE4()
381 rseq_len != sizeof(*rseq)) in SYSCALL_DEFINE4()
383 if (!access_ok(rseq, rseq_len)) in SYSCALL_DEFINE4()
385 current->rseq = rseq; in SYSCALL_DEFINE4()