Home | History | Annotate | Download | only in sys
History log of /src/lib/libc/sys/mmap.2
RevisionDateAuthorComments
 1.57  13-May-2024  msaitoh s/of of/of/ in comment.
 1.56  01-Mar-2023  uwe mmap(2): minor markup tweaks
 1.55  08-Sep-2019  sevan Sort flags
 1.54  08-Sep-2019  sevan Document MAP_ANONYMOUS
 1.53  19-Jun-2019  uwe Small markup fixes.
 1.52  02-May-2018  christos branches: 1.52.2;
Explain PROT_MPROTECT better, add references to mremap(2), document the
unimplemented flags, documented the alignment pre-defined constants.
 1.51  12-Jun-2017  abhinav branches: 1.51.4;
Fix typo
Insert Pp after a list to add vertical space before the next paragraph
Remove Pp before Bl at two places
 1.50  14-May-2017  wiz Use Nx.
 1.49  06-May-2017  joerg Extend the mmap(2) interface to allow requesting protections for later
use with mprotect(2), but without enabling them immediately.

Extend the mremap(2) interface to allow duplicating mappings, i.e.
create a second range of virtual addresses references the same physical
pages. Duplicated mappings can have different effective protections.

Adjust PAX mprotect logic to disallow effective protections of W&X, but
allow one mapping W and another X protections. This obsoletes using
temporary files for purposes like JIT.

Adjust PAX logic for mmap(2) and mprotect(2) to fail if W&X is requested
and not silently drop the X protection.

Improve test cases to ensure correct operation of the changed
interfaces.
 1.48  27-Feb-2015  christos branches: 1.48.6;
Document SIGBUS per ToG.
 1.47  05-Jan-2012  reinoud Revert MAP_NOSYSCALLS patch.
 1.46  20-Dec-2011  wiz New sentence, new line. Bump date for previous.
 1.45  20-Dec-2011  reinoud Add a MAP_NOSYSCALLS flag to mmap. This flag prohibits executing of system
calls from the mapped region. This can be used for emulation perposed or for
extra security in the case of generated code.

Its implemented by adding mapping-attributes to each uvm_map_entry. These can
then be queried when needed.

Currently the MAP_NOSYSCALLS is only implemented for x86 but other
architectures are easy to adapt; see the sys/arch/x86/x86/syscall.c patch.
Port maintainers are encouraged to add them for their processor ports too.
When this feature is not yet implemented for an architecture the
MAP_NOSYSCALLS is simply ignored with virtually no cpu cost..
 1.44  15-Oct-2011  rmind branches: 1.44.2;
Amend previous: just leave the part that mmap() was designed for 4.2BSD
and do not mention 4.4BSD until it becomes clear when exactly the interface
was shipped.
 1.43  15-Oct-2011  rmind Mention that mmap(2) was designed for 4.2BSD, but really appeared in 4.4BSD.
 1.42  31-Mar-2011  jruoho Offset indent.
 1.41  27-Feb-2009  wiz New sentence, new line. Use more markup.
 1.40  27-Feb-2009  pooka Remove mentions of MAP_COPY, it's not available and trying to use it
will result in compile failure.
 1.39  18-Jul-2007  wiz branches: 1.39.16; 1.39.22;
Uppercase logical OR operator.
 1.38  25-Mar-2006  rtr Remove "len was less than zero" from the list of reasons that the function
will fail with EINVAL since the len param is size_t and couldn't possibly
be "less than zero".

Resolves pr32516
 1.37  04-Oct-2004  perry Note that MAP_ANON memory is zero filled.
 1.36  24-Mar-2004  wiz Increase width in tables so this displays more nicely.
 1.35  07-Oct-2003  thorpej Add a MAP_WIRED flag to mmap(2), which causes the new mapping to be
wired as if by mlock(2).
 1.34  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.33  04-Jul-2003  wiz Bump date for last.
 1.32  23-Jun-2003  christos PR/21948: Todd Vierling: Implement MAP_TRYFIXED for linux emulation.
 1.31  16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.30  10-Apr-2003  wiz Add a comma after e.g.
 1.29  10-Apr-2003  atatat Document the new MAP_ALIGNED() flag/macro, be more specific about what
values for fd are acceptable when using MAP_ANON, and add a short
paragraph describing (in short) the relationship between mmap()
allocations and the break.

Addresses PR kern/7935 and PR lib/20803.
 1.28  31-Mar-2003  perry enforcable->enforceable (Igor Sobrado, PR misc/19731)
 1.27  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.26  01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.25  08-Feb-2002  ross branches: 1.25.2;
Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.24  23-Oct-2001  mycroft Should have done this years ago...
Add a warning about the separability of the PROT_* flags.
 1.23  16-Sep-2001  wiz Boring whitespace fixes.
 1.22  26-Jun-2000  kleink branches: 1.22.2;
Finally nuke <sys/types.h> from SYNOPSIS.
 1.21  28-Mar-2000  kleink In mmap(), bail out with EOVERFLOW when mapping a regular file and the file
offset plus mapping length cannot be represented in an off_t.
 1.20  02-Dec-1999  kleink Add a LIBRARY section to system call manual pages. While it's clear that the
libraries contain stubs only (with minor exceptions a la pipe(2)), the purpose
of this section is to provide linkage information.
 1.19  06-Apr-1999  cgd branches: 1.19.4;
change:
.Sh "SEE ALSO"
to:
.Sh SEE ALSO
The doc macros check for the latter (actually just for 'SEE' as the first
argument to .Sh) to set the section header SEE ALSO flag, which modifies
some behaviour (e.g. references done with .Rs/.Re).
 1.18  22-Mar-1999  garbled Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Wheee!
 1.17  09-Mar-1999  ross More missing .El's.
 1.16  29-Aug-1998  lukem first pass at fixing up capitalization of function names and
arguments; ensure that each is correct with respect to the
implementation, rather than being correct as per english.
 1.15  03-Jun-1998  kleink Use MAP_FAILED in the return values description.
 1.14  28-Mar-1998  kleink Per XPG, if the file descriptor argument to mmap() refers to a file whose
type is not supported (neither VREG nor VCHR, or not a vnode at all), fail
with ENODEV instead of EINVAL.
 1.13  10-Feb-1998  mrg update MAP_COPY documentation, noting that it is currently implemented as MAP_PRIVATE.
 1.12  02-Feb-1998  perry merge lite-2
 1.11  10-Jan-1998  kleink Document PROT_NONE.
 1.10  15-Dec-1997  mrg note that MAP_SHARED or MAP_PRIVATE must be specified.
 1.9  16-Oct-1997  christos caddr_t -> void *
PR/4269: Chris Demetriou: Add MS_* to msync()
 1.8  15-Jul-1997  mikel xref getpagesize(3) not getpagesize(2), sort xrefs
 1.7  12-Jul-1997  perry nuke reference to nonexistant MAP_WRITE flag, per Brian Grayson, pr-3698
 1.6  29-May-1997  cgd Fix broken uses of Dd. Both the mdoc and mdoc.samples pages agree:
.Dd is supposed to be invoked like:
.Dd month day, year
e.g. ".Dd January 25, 1989", rather than:
.Dd "month day, year"
which is what these pages did.
 1.5  24-Jun-1995  cgd add mlock xrefs as suggested by davide@cs.cmu.edu
 1.4  27-Feb-1995  cgd merge with lite, keeping most local changes. clean up Ids
 1.3  31-Jul-1994  mycroft Fix for MAP_FILE changes.
 1.2  01-Aug-1993  mycroft branches: 1.2.2;
Add RCS indentifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  02-Feb-1998  perry import lite-2
 1.1.1.2  27-Feb-1995  cgd from Lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2.2.1  01-Aug-1994  cgd from trunk.
 1.19.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.22.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.22.2.4  22-Mar-2002  nathanw Catch up to -current.
 1.22.2.3  08-Mar-2002  nathanw Catch up to -current.
 1.22.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.22.2.1  08-Oct-2001  nathanw Catch up to -current.
 1.25.2.1  17-Aug-2003  tron Pull up revision 1.32 (requested by tv in ticket #1420):
PR/21948: Todd Vierling: Implement MAP_TRYFIXED for linux emulation.
 1.39.22.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.39.16.2  18-Jul-2007  wiz Uppercase logical OR operator.
 1.39.16.1  18-Jul-2007  wiz file mmap.2 was added on branch matt-mips64 on 2007-07-18 23:34:24 +0000
 1.44.2.1  17-Apr-2012  yamt sync with head
 1.48.6.2  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.48.6.1  11-May-2017  pgoyette Sync with HEAD
 1.51.4.1  21-May-2018  pgoyette Sync with HEAD
 1.52.2.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed