criu/compel
Ignacio Moreno Gonzalez 04012eac7f compel: flush caches after parasite injection
After the CRIU process saves the parasite code for the target thread in
the shared mmap, it is necessary to call __clear_cache before the target
thread executes the code.

Without this step, the target thread may not see the correct code to
execute, which can result in a SIGILL signal.

For the specific arm64 case. this is important so that the newly copied
code is flushed from d-cache to RAM, so that the target thread sees the
new code.

The change is based on commit 6be10a2 by @fu.lin and on input received
from @adrianreber.

[ avagin: tweak code comment ]

Signed-off-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com>
Signed-off-by: Andrei Vagin <avagin@gmail.com>
2025-07-25 04:47:03 +00:00
..
arch arm64: C/R PAC keys 2025-03-15 11:59:19 +00:00
include compel: fix the stack test 2025-04-04 08:29:52 -07:00
plugins compel: infect: prepare parasite_service() for addition of CET support 2024-09-11 16:02:11 -07:00
src compel: flush caches after parasite injection 2025-07-25 04:47:03 +00:00
test compel: fix the stack test 2025-04-04 08:29:52 -07:00
.gitignore compel: fix gitignore and remove autogenerated code 2024-11-21 14:44:52 -08:00
compel-host compel cli: show includes 2017-03-15 00:09:55 +03:00
Makefile compel: add riscv64 support 2024-10-26 22:18:22 -07:00