This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] posix: Fix generic p{read,write}v buffer allocation (BZ#22457)
On 23/11/2017 17:08, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> + size_t mmap_size = ALIGN_UP (bytes, GLRO(dl_pagesize));
>> + void *buffer = __mmap (NULL, mmap_size, PROT_READ | PROT_WRITE,
>> + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
>> + if (__glibc_unlikely (buffer == MAP_FAILED)
>> + || __glibc_unlikely (!PTR_IS_ALIGNED (buffer, GLRO(dl_pagesize))))
>> return -1;
>
> I don't think POSIX requires that the length of the mapping is a
> multiple of the page size. You could probably drop the alignment
> check, too, because I don't really see any reason why the alignment
> requirement would be related to the page size.
>
Indeed we do not need to align to page size, however the alignment
requirement was the motivation to actually change its implementation
(check commit message for c79a72aa5cb8357c216a71015c7448a9259c8531).