Home
last modified time | relevance | path

Searched refs:rseq_cs (Results 1 – 17 of 17) sorted by relevance

/Linux-v6.6/kernel/
Drseq.c152 static int rseq_get_rseq_cs(struct task_struct *t, struct rseq_cs *rseq_cs) in rseq_get_rseq_cs() argument
154 struct rseq_cs __user *urseq_cs; in rseq_get_rseq_cs()
161 if (get_user(ptr, &t->rseq->rseq_cs)) in rseq_get_rseq_cs()
164 if (copy_from_user(&ptr, &t->rseq->rseq_cs, sizeof(ptr))) in rseq_get_rseq_cs()
168 memset(rseq_cs, 0, sizeof(*rseq_cs)); in rseq_get_rseq_cs()
173 urseq_cs = (struct rseq_cs __user *)(unsigned long)ptr; in rseq_get_rseq_cs()
174 if (copy_from_user(rseq_cs, urseq_cs, sizeof(*rseq_cs))) in rseq_get_rseq_cs()
177 if (rseq_cs->start_ip >= TASK_SIZE || in rseq_get_rseq_cs()
178 rseq_cs->start_ip + rseq_cs->post_commit_offset >= TASK_SIZE || in rseq_get_rseq_cs()
179 rseq_cs->abort_ip >= TASK_SIZE || in rseq_get_rseq_cs()
[all …]
/Linux-v6.6/tools/testing/selftests/rseq/
Drseq-riscv-bits.h19 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
34 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
73 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
91 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
127 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
141 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
176 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
194 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
240 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
252 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-arm-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
49 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
94 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
120 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
164 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
182 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
222 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
252 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
311 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
340 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-mips-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
47 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
87 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
111 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
150 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
168 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
205 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
231 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
284 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
311 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-s390-bits.h21 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
40 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
89 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
113 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
157 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
173 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
214 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
238 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
298 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
320 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-arm64-bits.h26 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
41 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
84 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
102 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
143 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
157 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
195 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
213 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
268 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
289 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-ppc-bits.h27 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
47 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
92 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
118 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
162 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
181 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
222 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
247 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
306 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in RSEQ_TEMPLATE_IDENTIFIER()
333 [rseq_cs] "m" (rseq_get_abi()->rseq_cs.arch.ptr), in RSEQ_TEMPLATE_IDENTIFIER()
[all …]
Drseq-ppc.h66 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
73 "std %%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
126 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
130 RSEQ_STORE_INT(rseq_cs) "%%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
Drseq-x86.h88 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
91 "movq %%rax, " __rseq_str(rseq_cs) "\n\t" \
175 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
177 "movl $" __rseq_str(cs_label) ", " __rseq_str(rseq_cs) "\n\t" \
Drseq-arm.h111 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
114 "str r0, %[" __rseq_str(rseq_cs) "]\n\t" \
Drseq-s390.h107 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
110 LONG_S " %%r0, %[" __rseq_str(rseq_cs) "]\n\t" \
Drseq-mips.h115 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
118 LONG_S " $4, %[" __rseq_str(rseq_cs) "]\n\t" \
Drseq-riscv.h83 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
86 REG_S RSEQ_ASM_TMP_REG_1 ", %[" __rseq_str(rseq_cs) "]\n" \
Drseq-arm64.h125 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
130 " str " RSEQ_ASM_TMP_REG ", %[" __rseq_str(rseq_cs) "]\n" \
Drseq-abi.h128 } rseq_cs; member
Drseq.h220 RSEQ_WRITE_ONCE(rseq_get_abi()->rseq_cs.arch.ptr, 0); in rseq_clear_rseq_cs()
/Linux-v6.6/include/uapi/linux/
Drseq.h45 struct rseq_cs { struct
112 __u64 rseq_cs; member