• Helge Deller's avatar
    parisc: fix mmap(MAP_FIXED|MAP_SHARED) to already mmapped address · 0576da2c
    Helge Deller authored
    locale-gen on Debian showed a strange problem on parisc:
    mmap2(NULL, 536870912, PROT_NONE, MAP_SHARED, 3, 0) = 0x42a54000
    mmap2(0x42a54000, 103860, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0) = -1 EINVAL (Invalid argument)
    
    Basically it was just trying to re-mmap() a file at the same address
    which it was given by a previous mmap() call. But this remapping failed
    with EINVAL.
    
    The problem is, that when MAP_FIXED and MAP_SHARED flags were used, we didn't
    included the mapping-based offset when we verified the alignment of the given
    fixed address against the offset which we calculated it in the previous call.
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    Cc: <stable@vger.kernel.org> # 3.10+
    0576da2c
sys_parisc.c 6.74 KB