criu/compel/include/uapi
Andrei Vagin c34355a7c3
compel: avoid rseq critical sections when executing parasite code
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>
2026-07-20 11:23:01 +02:00
..
asm compel: make include/uapi/asm symlink permanent 2017-03-15 00:09:56 +03:00
common compel: uapi -- Add common symlink 2017-03-15 00:06:12 +03:00
compel compel: make include/uapi symlink permanent 2017-03-15 00:09:55 +03:00
cpu.h compel/criu: Add __must_check 2020-02-04 12:39:04 -08:00
handle-elf.h Run 'make indent' on header files 2021-09-03 10:31:00 -07:00
infect-rpc.h Run 'make indent' on header files 2021-09-03 10:31:00 -07:00
infect-util.h criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -07:00
infect.h compel: avoid rseq critical sections when executing parasite code 2026-07-20 11:23:01 +02:00
ksigset.h ksigset: fix a typo in ksigdelset 2021-09-03 10:31:00 -07:00
log.h compel/uapi: add prefix to log levels 2017-03-15 09:36:06 +03:00
loglevels.h clang-format: do automatic comment fixups 2022-04-28 17:53:52 -07:00
plugins compel: Include compel headers as system ones 2017-03-15 00:06:02 +03:00
plugins.h Run 'make indent' on header files 2021-09-03 10:31:00 -07:00
ptrace.h compel: fix build on Amazon Linux 2 due to missing PTRACE_ARCH_PRCTL 2024-09-11 16:02:11 -07:00
sigframe-common.h Run 'make indent' on header files 2021-09-03 10:31:00 -07:00
task-state.h Run 'make indent' on header files 2021-09-03 10:31:00 -07:00