From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Hocko Subject: [PATCH] mmap.2: document new MAP_FIXED_SAFE flag Date: Wed, 29 Nov 2017 15:45:24 +0100 Message-ID: <20171129144524.23518-1-mhocko@kernel.org> References: <20171129144219.22867-1-mhocko@kernel.org> Return-path: In-Reply-To: <20171129144219.22867-1-mhocko@kernel.org> Sender: linux-arch-owner@vger.kernel.org To: Michael Kerrisk Cc: linux-api@vger.kernel.org, Khalid Aziz , Michael Ellerman , Andrew Morton , Russell King - ARM Linux , Andrea Arcangeli , linux-mm@kvack.org, LKML , linux-arch@vger.kernel.org, Florian Weimer , John Hubbard , Michal Hocko List-Id: linux-api@vger.kernel.org From: Michal Hocko 4.16+ kernels offer a new MAP_FIXED_SAFE flag which allows to atomicaly probe for a given address range. Signed-off-by: Michal Hocko --- man2/mmap.2 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/man2/mmap.2 b/man2/mmap.2 index 385f3bfd5393..622a7000de83 100644 --- a/man2/mmap.2 +++ b/man2/mmap.2 @@ -225,6 +225,18 @@ will fail. Because requiring a fixed address for a mapping is less portable, the use of this option is discouraged. .TP +.B MAP_FIXED_SAFE (since 4.16) +Similar to MAP_FIXED wrt. to the +.I +addr +enforcement except it never clobbers a colliding mapped range and rather fail with +.B EEXIST +in such a case. This flag can therefore be used as a safe and atomic probe for the +the specific address range. Please note that older kernels which do not recognize +this flag can fallback to the hint based implementation and map to a different +location. Any backward compatible software should therefore check the returning +address with the given one. +.TP .B MAP_GROWSDOWN This flag is used for stacks. It indicates to the kernel virtual memory system that the mapping @@ -449,6 +461,12 @@ is not a valid file descriptor (and .B MAP_ANONYMOUS was not set). .TP +.B EEXIST +range covered by +.IR addr , +.IR length +is clashing with an existing mapping. +.TP .B EINVAL We don't like .IR addr , -- 2.15.0