Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751628AbdLBCQg (ORCPT ); Fri, 1 Dec 2017 21:16:36 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:39990 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751119AbdLBCQe (ORCPT ); Fri, 1 Dec 2017 21:16:34 -0500 X-Google-Smtp-Source: AGs4zMZ4InExBFEQjr+cVSYdg6Nwqo6sK/W/O1Aq7MLo/MliDkOA4G7I0sm2/xRIm5E2CBXY1FHh/w== From: john.hubbard@gmail.com X-Google-Original-From: jhubbard@nvidia.com To: Michael Kerrisk Cc: linux-man , linux-api@vger.kernel.org, Michael Ellerman , linux-mm@kvack.org, LKML , linux-arch@vger.kernel.org, Michal Hocko , John Hubbard Subject: [PATCH] mmap.2: MAP_FIXED is no longer discouraged Date: Fri, 1 Dec 2017 18:16:26 -0800 Message-Id: <20171202021626.26478-1-jhubbard@nvidia.com> X-Mailer: git-send-email 2.15.1 X-NVConfidentiality: public Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1365 Lines: 38 From: John Hubbard MAP_FIXED has been widely used for a very long time, yet the man page still claims that "the use of this option is discouraged". The documentation assumes that "less portable" == "must be discouraged". Instead of discouraging something that is so useful and widely used, change the documentation to explain its limitations better. Signed-off-by: John Hubbard --- While reviewing Michal Hocko's man page update for MAP_FIXED_SAFE, I noticed that MAP_FIXED was no longer reflecting the current situation, so here is a patch to bring it into the year 2017. man2/mmap.2 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/man2/mmap.2 b/man2/mmap.2 index 385f3bfd5..a5a8eb47a 100644 --- a/man2/mmap.2 +++ b/man2/mmap.2 @@ -222,8 +222,10 @@ part of the existing mapping(s) will be discarded. If the specified address cannot be used, .BR mmap () will fail. -Because requiring a fixed address for a mapping is less portable, -the use of this option is discouraged. +Software that aspires to be portable should use this option with care, keeping +in mind that the exact layout of a process' memory map is allowed to change +significantly between kernel versions, C library versions, and operating system +releases. .TP .B MAP_GROWSDOWN This flag is used for stacks. -- 2.15.1