Messages in this thread |  | | Subject | Re: [patch] mremap.2: Add description of old_size == 0 functionality | From | Florian Weimer <> | Date | Mon, 18 Sep 2017 15:45:37 +0200 |
| |
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.)
Thanks, Florian
|  |