• R
    work around incorrect EPERM from mmap syscall · da438ee1
    Rich Felker 提交于
    under some conditions, the mmap syscall wrongly fails with EPERM
    instead of ENOMEM when memory is exhausted; this is probably the
    result of the kernel trying to fit the allocation somewhere that
    crosses into the kernel range or below mmap_min_addr. in any case it's
    a conformance bug, so work around it. for now, only handle the case of
    anonymous mappings with no requested address; in other cases EPERM may
    be a legitimate error.
    
    this indirectly fixes the possibility of malloc failing with the wrong
    errno value.
    da438ee1
mmap.c 946 字节