mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-29 13:28:27 +00:00
The section 5.2.1.2 of the AAPCS says that the stack must be 8-byte aligned and this rule is broken when the thread restore_task_with_children() is forked by the function fork_with_pid() since the variable ca and its field stack are likely to be 4-byte aligned. This patch forces 8-byte alingment of the field cr_clone_arg::stack. This made the following tests pass on ARM: * static/shm, * static/ipc_namespace. Particulary the unaligned stack results in incorrect passing of the 64-bit argument to the function snprintf() in the function sysctl_write_u64(). Signed-off-by: Alexander Kartashov <alekskartashov@parallels.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
crtools ======= An utility to checkpoint/restore tasks. Some code snippets are borrowed from - Linux kernel (http://kernel.org/) - git (http://git-scm.com/) - kvm-tools (https://github.com/penberg/linux-kvm) - ptrace-parasite (https://code.google.com/p/ptrace-parasite/) Many thanks to these projects. Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)
Description
Languages
C
86%
Python
6.1%
Java
2.6%
Shell
2.6%
Makefile
2%
Other
0.7%