• Andrey Vagin's avatar
    mm: taking into account a gurad page to find a space for a restorer vma · c627c037
    Andrey Vagin authored
    Actually a gurad page is a part of a stack vma and we don't want to remap
    it by a restorer vma.
    
    The crtools on restore find a place for a restorer vma, which will not
    intersect with other VMAs. A guard page is a part of a stack VMA, if
    we don't take into account it, we can place the restorer VMA on it and
    that case is a bug.
    
    Would not this lead to situation where we expand stack manually? Every new
    c/r cycle add one page to the bottom of stack, no? No:
    
    strace:
    mmap(0x5f4d0e0cc000, 4096, PROT_READ|PROT_WRITE,
    MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0) =
    0x5f4d0e0cc000
    
    /proc/PID/maps:
    5f4d0e0cd000-5f4d0e0cd000 rw-p 00000000 00:00 0
    .
    Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    c627c037
Name
Last commit
Last update
Documentation Loading commit data...
include 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...
Makefile.inc Loading commit data...
Makefile.pie Loading commit data...
Makefile.syscall Loading commit data...
README Loading commit data...
cr-check.c Loading commit data...
cr-dump.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...
files-reg.c Loading commit data...
files.c Loading commit data...
gen-offsets.sh Loading commit data...
image.c Loading commit data...
inotify.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-head-x86-64.S Loading commit data...
parasite-syscall.c Loading commit data...
parasite.c Loading commit data...
pie.lds.S 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...
restorer-log.c Loading commit data...
restorer.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...
syscall-common-x86-64.S Loading commit data...
syscalls-x86-64.sh Loading commit data...
sysctl.c Loading commit data...
util-net.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...