• Michael Holzheu's avatar
    s390: Fix off-by-one error for task size detection · a5e2605e
    Michael Holzheu authored
    The entries in /proc/<pid>/maps look like the following:
    
      3fffffdf000-40000000000 rw-p 00000000 00:00 0
    
    The upper address is the first address that is *not* included in the
    address range.
    
    Our function max_mapped_addr() should return the last valid address
    for a process, but currently returns the first invalid address.
    
    This can lead to the following error message on kernel that have
    kernel commit ee71d16d22bb:
    
     Error (criu/proc_parse.c:694): Can't dump high memory region
     1ffffffffff000-20000000000000 of task 24 because kernel commit ee71d16d22bb
     is missing
    
    Fix this and make max_mapped_addr() the last valid address (first invalid
    address - 1).
    Reported-by: 's avatarAdrian Reber <areber@redhat.com>
    Signed-off-by: 's avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    a5e2605e
Name
Last commit
Last update
..
arch Loading commit data...
include Loading commit data...
plugins Loading commit data...
src Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
Makefile Loading commit data...
compel-host Loading commit data...