Re: [PATCH] mmap.2: MAP_FIXED is okay if the address range has been reserved

From: Michal Hocko
Date: Fri Apr 13 2018 - 02:49:25 EST


On Fri 13-04-18 08:43:27, Michael Kerrisk wrote:
[...]
> So, you mean remove this entire paragraph:
>
> For cases in which the specified memory region has not been
> reserved using an existing mapping, newer kernels (Linux
> 4.17 and later) provide an option MAP_FIXED_NOREPLACE that
> should be used instead; older kernels require the caller to
> use addr as a hint (without MAP_FIXED) and take appropriate
> action if the kernel places the new mapping at a different
> address.
>
> It seems like some version of the first half of the paragraph is worth
> keeping, though, so as to point the reader in the direction of a remedy.
> How about replacing that text with the following:
>
> Since Linux 4.17, the MAP_FIXED_NOREPLACE flag can be used
> in a multithreaded program to avoid the hazard described
> above.

Yes, that sounds reasonable to me.

--
Michal Hocko
SUSE Labs