page-align initial brk value used by malloc in shared libc
authorRich Felker <dalias@aerifal.cx>
Sat, 8 Dec 2012 03:33:11 +0000 (22:33 -0500)
committerRich Felker <dalias@aerifal.cx>
Sat, 8 Dec 2012 03:33:11 +0000 (22:33 -0500)
commitb8ccf8e46bab6ee9d63a6e392c3b33b9aa89255c
tree5507553d3354f4650d904df2e54829cf1b38181c
parent3ee67505fe50299d6df6e9bca894fd6b568669fb
page-align initial brk value used by malloc in shared libc

this change fixes an obscure issue with some nonstandard kernels,
where the initial brk syscall returns a pointer just past the end of
bss rather than the beginning of a new page. in that case, the dynamic
linker has already reclaimed the space between the end of bss and the
page end for use by malloc, and memory corruption (allocating the same
memory twice) will occur when malloc again claims it on the first call
to brk.
src/malloc/malloc.c