• Andrey Vagin's avatar
    mem: add a guard page only if here is enough space for it · 20ec5859
    Andrey Vagin authored
    Currently we don't add a guard page to a second consecutive growsdonw vma,
    even if here is enough space for it. It's wrong. Look at the following test
    output:
    
    Execute zdtm/live/static/grow_map03
    ./grow_map03 --pidfile=grow_map03.pid --outfile=grow_map03.out
    Dump 3888
    Restore
    Test: zdtm/live/static/grow_map03, Result: FAIL
    ==================================== ERROR ====================================
    Test: zdtm/live/static/grow_map03, Namespace:
    Dump log   : /root/git/criu/test/dump/grow_map03/3888/1/dump.log
    --------------------------------- grep Error ---------------------------------
    ------------------------------------- END -------------------------------------
    Restore log: /root/git/criu/test/dump/grow_map03/3888/1/restore.log
    --------------------------------- grep Error ---------------------------------
    pie: Error (pie/restorer.c:465): Unable to remap 0x7f0da2c99000 -> 0x7f46425fc000
    pie: Error (pie/restorer.c:969): Restorer fail 3888
    (00.035621) Error (cr-restore.c:1590): Restoring FAILED.
    ------------------------------------- END -------------------------------------
    ================================= ERROR OVER =================================
    
    strace:
    mremap(0x7fc3de5b6000, 0, 0, MREMAP_MAYMOVE|MREMAP_FIXED, 0x7f38dd4e0000) = -1 EINVAL (Invalid argument)
    Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    20ec5859
proc_parse.c 29.8 KB