Doubts about mmap(2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I believe mmap(2) is confusing (see the emboldened parts):

DESCRIPTION
       mmap()  creates  a  new mapping in the virtual address space of
       the calling process.  **The starting address for the new  mapping
       is specified in addr.**  The length argument specifies the length
       of the mapping (which must be greater than 0).

       If addr is NULL, then the kernel chooses the (page‐aligned) ad‐
       dress at which to create the mapping; this is the most portable
       method  of  creating  a new mapping.  **If addr is not NULL, then
       the kernel takes it as a hint about where to place the mapping;
       on Linux, the kernel will pick a nearby page boundary** (but  al‐
       ways    above    or   equal   to   the   value   specified   by
       /proc/sys/vm/mmap_min_addr) and attempt to create  the  mapping
       there.   If  another  mapping  already exists there, the kernel
       picks a new address that may or may not  depend  on  the  hint.
       The address of the new mapping is returned as the result of the
       call.


The first emboldened sentence contradicts the second.  It's not the
starting address, but just a hint to find a nearby (>=) starting
address.  How about saying this?:

    A hint for the starting address for the new mapping is specified in
    addr.

Cheers,
Alex

--
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux