mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-21 09:10:10 +00:00
A parasite code is injected into a target process and executed it via ptrace. If the instruction pointer is inside an rseq critical section when parasite code starts executing, the critical section can be aborted and IP will be redirected to rseq_cs->abort_ip, which isn't expected. Here is one more issue is that the kernel zeroes out rseq->rseq_cs in userspace memory, destroying the rseq state before CRIU can record it. To avoid critical sections during parasite execution, compel aborts a critical section when it is required. Reported-by: Alberto Ventafridda <alberto.ventafridda@gmail.com> Signed-off-by: Andrei Vagin <avagin@google.com> Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@futurfusion.io> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| spy.c | ||
| victim.c | ||