0                  Indicates success.
    -1                 Indicates an error; errno is set to one of the
                       following values:
                       o  ENIVAL - The addr argument is not a
                          multiple of the page size as returned by
                          sysconf(_SC_PAGE_SIZE).
                       o  EFAULT - The range [addr, addr + len]
                          includes an invalid address.