On 18/06/25 5:07 pm, Lorenzo Stoakes wrote:
On Wed, Jun 18, 2025 at 04:58:56PM +0530, Dev Jain wrote:
MAP_CHUNK_SIZE was chosen randomly. Good to see it translates into something logical : )
So I guess I am correct, if we can find two VMAs (except at the edge of the high addr boundary) with a gap of greater than MAP_CHUNK_SIZE then there is a bug in mmap().
No haha, not at all!! Firstly fixed addressed override a lot of this, secondly the 256 page gap (which is configurable btw) is only applicable for mappings below a stack (in stack grow down arch).
Sorry, I was making that assertion w.r.t this specific selftest. What the test is doing is exhausting VA space without passing a hint or MAP_FIXED. With this context, where does this assertion fail? One of them will be if the stack guard gap is more than 256 pages.
Also, note that the test hasn't reported frequent failures post my change, so in general settings, w.r.t this test, the assertion experimentally seems to be true : )
This assumption is totally incorrect, sorry. I'd suggest making assertions about this is really not all that useful, as things vary by arch and kernel configuration.