• Alexander Kartashov's avatar
    cr-restore: align the stack on 8-byte boundary · a27f0e5c
    Alexander Kartashov authored
    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: 's avatarAlexander Kartashov <alekskartashov@parallels.com>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    a27f0e5c
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
include Loading commit data...
pie Loading commit data...
protobuf Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
cpu.c Loading commit data...
cr-check.c Loading commit data...
cr-dump.c Loading commit data...
cr-exec.c Loading commit data...
cr-restore.c Loading commit data...
cr-show.c Loading commit data...
crtools.c Loading commit data...
eventfd.c Loading commit data...
eventpoll.c Loading commit data...
fifo.c Loading commit data...
file-ids.c Loading commit data...
file-lock.c Loading commit data...
files-reg.c Loading commit data...
files.c Loading commit data...
fsnotify.c Loading commit data...
image.c Loading commit data...
ipc_ns.c Loading commit data...
kcmp-ids.c Loading commit data...
libnetlink.c Loading commit data...
log.c Loading commit data...
mount.c Loading commit data...
namespaces.c Loading commit data...
net.c Loading commit data...
netfilter.c Loading commit data...
parasite-syscall.c Loading commit data...
pipes.c Loading commit data...
proc_parse.c Loading commit data...
protobuf.c Loading commit data...
pstree.c Loading commit data...
ptrace.c Loading commit data...
rbtree.c Loading commit data...
shmem.c Loading commit data...
signalfd.c Loading commit data...
sk-inet.c Loading commit data...
sk-packet.c Loading commit data...
sk-queue.c Loading commit data...
sk-tcp.c Loading commit data...
sk-unix.c Loading commit data...
sockets.c Loading commit data...
sysctl.c Loading commit data...
tty.c Loading commit data...
util-net.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...