Re: [PATCH v2 0/2] mm: introduce MAP_FIXED_SAFE

From: Michal Hocko
Date: Tue Dec 19 2017 - 07:46:57 EST


On Tue 19-12-17 12:40:16, David Laight wrote:
> From: Edward Napierala
> > Sent: 14 December 2017 14:55
> >
> > On 1214T1415, Michal Hocko wrote:
> > > On Thu 14-12-17 12:44:17, Edward Napierala wrote:
> > > > Regarding the name - how about adopting MAP_EXCL? It was introduced in
> > > > FreeBSD,
> > > > and seems to do exactly this; quoting mmap(2):
> > > >
> > > > MAP_FIXED Do not permit the system to select a different address
> > > > than the one specified. If the specified address
> > > > cannot be used, mmap() will fail. If MAP_FIXED is
> > > > specified, addr must be a multiple of the page size.
> > > > If MAP_EXCL is not specified, a successful MAP_FIXED
> > > > request replaces any previous mappings for the
> > > > process' pages in the range from addr to addr + len.
> > > > In contrast, if MAP_EXCL is specified, the request
> > > > will fail if a mapping already exists within the
> > > > range.
> > >
> > > I am not familiar with the FreeBSD implementation but from the above it
> > > looks like MAP_EXCL is a MAP_FIXED mofifier which is not how we are
> > > going to implement it in linux due to reasons mentioned in this cover
> > > letter. Using the same name would be more confusing than helpful I am
> > > afraid.
> >
> > Sorry, missed that. Indeed, reusing a name with a different semantics
> > would be a bad idea.
>
> I don't remember any discussion about using MAP_FIXED | MAP_EXCL ?
>
> Why not match the prior art??

See the cover letter which explains why an extension is not backward
compatible.
--
Michal Hocko
SUSE Labs