From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755282AbdK2Opj (ORCPT ); Wed, 29 Nov 2017 09:45:39 -0500 Received: from mail-pl0-f66.google.com ([209.85.160.66]:45607 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751846AbdK2Opf (ORCPT ); Wed, 29 Nov 2017 09:45:35 -0500 X-Google-Smtp-Source: AGs4zMZhVcMZS2flP6BbZS5zHOZ/l7/6Hqgnh16dEd7vwarBmQYELEMoDgRdl6owulHCd+Llt6KVZQ== From: Michal Hocko To: Michael Kerrisk Cc: linux-api@vger.kernel.org, Khalid Aziz , Michael Ellerman , Andrew Morton , Russell King - ARM Linux , Andrea Arcangeli , , LKML , linux-arch@vger.kernel.org, Florian Weimer , John Hubbard , 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> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171129144219.22867-1-mhocko@kernel.org> References: <20171129144219.22867-1-mhocko@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f197.google.com (mail-pf0-f197.google.com [209.85.192.197]) by kanga.kvack.org (Postfix) with ESMTP id 3D2E56B025F for ; Wed, 29 Nov 2017 09:45:36 -0500 (EST) Received: by mail-pf0-f197.google.com with SMTP id 8so2564176pfv.12 for ; Wed, 29 Nov 2017 06:45:36 -0800 (PST) Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id f31sor751266plb.58.2017.11.29.06.45.35 for (Google Transport Security); Wed, 29 Nov 2017 06:45:35 -0800 (PST) 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> In-Reply-To: <20171129144219.22867-1-mhocko@kernel.org> References: <20171129144219.22867-1-mhocko@kernel.org> Sender: owner-linux-mm@kvack.org List-ID: 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 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org