On Dec 20 17:48, Ken Brown wrote: > On 12/20/2024 10:37 AM, Corinna Vinschen wrote: > > No worries. The expression > > > > size_t commit_len = u_len - (start_addr - u_addr); > > > > may be right, but it's not generally intelligible. If you'd like > > to take a stab of changing the code to be more clear, I'm happy. > I'll give it a try. > > By the way, the answer to my original question seems to be remarkably easy. > The question was whether we could allow mmap with MAP_FIXED to succeed if > the requested area is contained in an existing anonymous mapping, even if > the corresponding pages have not been unmapped first. If I'm not mistaken, > all that's required is to delete the following lines starting at > mmap.cc:497: > > /* First check if the area is unused right now. */ > for (SIZE_T l = 0; l < len; ++l) > if (MAP_ISSET (off + l)) > { > set_errno (EINVAL); > return false; > } > > That seems to work in preliminary testing, but I'll have to test it more > thoroughly before I'm sure. > > If I convince myself that this works, is it OK with you if I commit it (to > main only) while you're on vacation? That way it can get wider testing, and > I can always revert it if it breaks something.
Given this is used only for anonymous mappings, go ahead. Corinna