Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1734318

Re: [patch] mremap.2: Add description of old_size == 0 functionality

From Mike Kravetz <mike.kravetz@oracle.com>
Newsgroups linux.kernel
Subject Re: [patch] mremap.2: Add description of old_size == 0 functionality
Date 2017-09-18 19:20 +0200
Message-ID <ur7S9-HP-5@gated-at.bofh.it> (permalink)
References <uq6v7-cm-1@gated-at.bofh.it> <uq6Ou-lC-5@gated-at.bofh.it> <ur4AX-6Xw-45@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 09/18/2017 06:45 AM, Florian Weimer wrote:
> On 09/15/2017 11:53 PM, Mike Kravetz wrote:
>> +If the value of \fIold_size\fP is zero, and \fIold_address\fP refers to
>> +a private anonymous mapping, then
>> +.BR mremap ()
>> +will create a new mapping of the same pages. \fInew_size\fP
>> +will be the size of the new mapping and the location of the new mapping
>> +may be specified with \fInew_address\fP, see the description of
>> +.B MREMAP_FIXED
>> +below.  If a new mapping is requested via this method, then the
>> +.B MREMAP_MAYMOVE
>> +flag must also be specified.  This functionality is deprecated, and no
>> +new code should be written to use this feature.  A better method of
>> +obtaining multiple mappings of the same private anonymous memory is via the
>> +.BR memfd_create()
>> +system call.
> 
> Is there any particular reason to deprecate this?
> 
> In glibc, we cannot use memfd_create and keep the file descriptor around because the application can close descriptors beneath us.
> 
> (We might want to use alias mappings to avoid run-time code generation for PLT-less LD_AUDIT interceptors.)
> 

Hi Florian,

When I brought up this mremap 'duplicate mapping' functionality on the mm
mail list, most developers were surprised.  It seems this functionality exists
mostly 'by chance', and it was not really designed.  It certainly was never
documented.  There were suggestions to remove the functionality, which led
to my claim that it was being deprecated.  However, in hindsight that may
have been too strong.

I can drop this wording, but would still like to suggest memfd_create as
the preferred method of creating duplicate mappings.  It would be good if
others on Cc: could comment as well.

Just curious, does glibc make use of this today?  Or, is this just something
that you think may be useful.

-- 
Mike Kravetz

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[patch] mremap.2: Add description of old_size == 0 functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-15 23:40 +0200
  Re: [patch] mremap.2: Add description of old_size == 0 functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-16 00:00 +0200
    Re: [patch] mremap.2: Add description of old_size == 0 functionality Florian Weimer <fweimer@redhat.com> - 2017-09-18 15:50 +0200
      Re: [patch] mremap.2: Add description of old_size == 0 functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-18 19:20 +0200
        Re: [patch] mremap.2: Add description of old_size == 0 functionality Florian Weimer <fweimer@redhat.com> - 2017-09-19 14:20 +0200
          [patch v2] mremap.2: Add description of old_size == 0 functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-19 23:50 +0200
            Re: [patch v2] mremap.2: Add description of old_size == 0  functionality "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> - 2017-09-20 09:30 +0200
              Re: [patch v2] mremap.2: Add description of old_size == 0  functionality Michal Hocko <mhocko@kernel.org> - 2017-09-25 14:40 +0200
                Re: [patch v2] mremap.2: Add description of old_size == 0 functionality "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> - 2017-09-25 14:50 +0200
              Re: [patch v2] mremap.2: Add description of old_size == 0  functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-25 18:40 +0200
                Re: [patch v2] mremap.2: Add description of old_size == 0 functionality "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> - 2017-09-25 21:30 +0200
          Re: [patch] mremap.2: Add description of old_size == 0 functionality Michal Hocko <mhocko@kernel.org> - 2017-09-25 14:40 +0200
            Re: [patch] mremap.2: Add description of old_size == 0 functionality Florian Weimer <fweimer@redhat.com> - 2017-09-25 14:50 +0200
              Re: [patch] mremap.2: Add description of old_size == 0 functionality Michal Hocko <mhocko@kernel.org> - 2017-09-25 15:00 +0200
                Re: [patch] mremap.2: Add description of old_size == 0 functionality Florian Weimer <fweimer@redhat.com> - 2017-09-25 15:20 +0200
                Re: [patch] mremap.2: Add description of old_size == 0 functionality Michal Hocko <mhocko@kernel.org> - 2017-09-25 17:00 +0200
                Re: [patch] mremap.2: Add description of old_size == 0 functionality Florian Weimer <fweimer@redhat.com> - 2017-09-25 17:00 +0200
  Re: [patch] mremap.2: Add description of old_size == 0 functionality Jann Horn <jannh@google.com> - 2017-09-18 04:00 +0200
    Re: [patch] mremap.2: Add description of old_size == 0 functionality Mike Kravetz <mike.kravetz@oracle.com> - 2017-09-18 19:30 +0200

csiph-web