mirror of https://github.com/mkerrisk/man-pages
mmap.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
e2da344f74
commit
b9f34840c2
21
man2/mmap.2
21
man2/mmap.2
|
@ -238,19 +238,26 @@ For example, thread A looks through
|
|||
and locates an available address range,
|
||||
while thread B simultaneously acquires part or all of that same
|
||||
address range.
|
||||
A then calls mmap(MAP_FIXED), effectively overwriting
|
||||
the mapping that thread B created.
|
||||
A then calls
|
||||
.BR mmap(MAP_FIXED) ,
|
||||
effectively overwriting the mapping that thread B created.
|
||||
.IP
|
||||
Thread B need not create a mapping directly; simply making a library call
|
||||
that, internally, uses
|
||||
.I dlopen(3)
|
||||
.BR dlopen (3)
|
||||
to load some other shared library, will
|
||||
suffice.
|
||||
The dlopen(3) call will map the library into the process's address
|
||||
space.
|
||||
The
|
||||
.BR dlopen (3)
|
||||
call will map the library into the process's address space.
|
||||
Furthermore, almost any library call may be implemented using this technique.
|
||||
Examples include brk(2), malloc(3), pthread_create(3), and the PAM libraries
|
||||
(http://www.linux-pam.org).
|
||||
Examples include
|
||||
.BR brk (2),
|
||||
.BR malloc (3),
|
||||
.BR pthread_create (3),
|
||||
and the PAM libraries
|
||||
.UR http://www.linux-pam.org
|
||||
.UE .
|
||||
.IP
|
||||
Newer kernels
|
||||
(Linux 4.16 and later) have a
|
||||
|
|
Loading…
Reference in New Issue