Home
last modified time | relevance | path

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

/Linux-v5.4/kernel/
Drseq.c115 static int rseq_get_rseq_cs(struct task_struct *t, struct rseq_cs *rseq_cs) in rseq_get_rseq_cs() argument
117 struct rseq_cs __user *urseq_cs; in rseq_get_rseq_cs()
123 if (copy_from_user(&ptr, &t->rseq->rseq_cs.ptr64, sizeof(ptr))) in rseq_get_rseq_cs()
126 memset(rseq_cs, 0, sizeof(*rseq_cs)); in rseq_get_rseq_cs()
131 urseq_cs = (struct rseq_cs __user *)(unsigned long)ptr; in rseq_get_rseq_cs()
132 if (copy_from_user(rseq_cs, urseq_cs, sizeof(*rseq_cs))) in rseq_get_rseq_cs()
135 if (rseq_cs->start_ip >= TASK_SIZE || in rseq_get_rseq_cs()
136 rseq_cs->start_ip + rseq_cs->post_commit_offset >= TASK_SIZE || in rseq_get_rseq_cs()
137 rseq_cs->abort_ip >= TASK_SIZE || in rseq_get_rseq_cs()
138 rseq_cs->version > 0) in rseq_get_rseq_cs()
[all …]
/Linux-v5.4/tools/testing/selftests/rseq/
Drseq-arm.h115 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
118 "str r0, %[" __rseq_str(rseq_cs) "]\n\t" \
166 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpeqv_storev()
189 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_storev()
233 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpnev_storeoffp_load()
259 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpnev_storeoffp_load()
302 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_addv()
320 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_addv()
359 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpeqv_trystorev_storev()
385 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_trystorev_storev()
[all …]
Drseq-ppc.h67 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
74 "std %%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
124 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
128 "stw %%r17, %[" __rseq_str(rseq_cs) "]\n\t" \
219 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_cmpeqv_storev()
239 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_storev()
279 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_cmpnev_storeoffp_load()
305 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpnev_storeoffp_load()
344 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_addv()
363 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_addv()
[all …]
Drseq-arm64.h127 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
132 " str " RSEQ_ASM_TMP_REG ", %[" __rseq_str(rseq_cs) "]\n" \
219 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in rseq_cmpeqv_storev()
234 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_storev()
273 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in rseq_cmpnev_storeoffp_load()
291 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpnev_storeoffp_load()
327 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in rseq_addv()
341 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_addv()
375 RSEQ_ASM_STORE_RSEQ_CS(2, 1b, rseq_cs) in rseq_cmpeqv_trystorev_storev()
392 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_trystorev_storev()
[all …]
Drseq-mips.h121 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
124 LONG_S " $4, %[" __rseq_str(rseq_cs) "]\n\t" \
173 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpeqv_storev()
194 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_storev()
238 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpnev_storeoffp_load()
262 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpnev_storeoffp_load()
305 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_addv()
323 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_addv()
362 RSEQ_ASM_STORE_RSEQ_CS(1, 3f, rseq_cs) in rseq_cmpeqv_trystorev_storev()
386 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_trystorev_storev()
[all …]
Drseq-s390.h111 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
114 LONG_S " %%r0, %[" __rseq_str(rseq_cs) "]\n\t" \
150 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_cmpeqv_storev()
169 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_storev()
213 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_cmpnev_storeoffp_load()
237 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpnev_storeoffp_load()
276 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_addv()
292 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_addv()
329 RSEQ_ASM_STORE_RSEQ_CS(1, 3b, rseq_cs) in rseq_cmpeqv_trystorev_storev()
351 [rseq_cs] "m" (__rseq_abi.rseq_cs), in rseq_cmpeqv_trystorev_storev()
[all …]
Drseq.h143 __rseq_abi.rseq_cs.ptr = 0; in rseq_clear_rseq_cs()
145 __rseq_abi.rseq_cs.ptr.ptr32 = 0; in rseq_clear_rseq_cs()
Drseq-x86.h85 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
88 "movq %%rax, " __rseq_str(rseq_cs) "\n\t" \
607 #define RSEQ_ASM_STORE_RSEQ_CS(label, cs_label, rseq_cs) \ argument
609 "movl $" __rseq_str(cs_label) ", " __rseq_str(rseq_cs) "\n\t" \
/Linux-v5.4/include/uapi/linux/
Drseq.h45 struct rseq_cs { struct
124 } rseq_cs; member