This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug manual/6887] New: mmap documentation bugs, perhaps also 2 functional bugs
- From: "siward at wanadoo dot nl" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 15 Sep 2008 08:26:14 -0000
- Subject: [Bug manual/6887] New: mmap documentation bugs, perhaps also 2 functional bugs
- Reply-to: sourceware-bugzilla at sourceware dot org
Good morning everyone,
i just tested mmap() &co ,
and found a few bugs, mainly in documentation,
but i think two of them are also functional bugs.
* opening file rw and mmapping it w
causes segfault at first write to a mapped memory location.
(functional bug, therefore documentation bug until it is fixed).
* opening file w and mmapping it w causes mmap error 'permission denied',
which is not mentioned in documentation
(rather it is said that i may GET more permissions than i asked for).
* trying to read from an empty file generates a 'bus error',
terminating process,
which is not mentioned in documentation.
* compiler didn't find O_READ ,
though fcntl.h was #included,
and both __USE_GNU and _GNU_SOURCE were #defined.
(working around by using O_RDONLY is trivial, but it is a documentation bug)
* when mmapping an empty file, mmap() returns a valid address,
but reading from this address causes a segfault.
(functional bug, therefore documentation bug until fixed).
* description of mremap says that it returns -1 on error,
but this is not possible since it's returntype is void* .
* description of MS_ASYNC says
"This tells `msync' to begin synchronization, but not to wait for it to complete."
which should be
"This tells `msync' to begin synchronization, but to not wait for it to
complete."
because it is confusing.
(never mind whether it is official english ; it is braindamage.)
* description of MAP_SHARED says
"This specifies that writes to region will be written back to file."
but it is valid (or at least it works) to use MAP_SHARED with MAP_ANON,
in which case there is no file to write back to.
Perhaps in this case MAP_SHARED controls whether other processes see changed
content ?
For the rest, mmap, mremap, munmap, and msync seem to work perfectly.
Thanks !
Have a nice day :-)
Siward
--
Summary: mmap documentation bugs, perhaps also 2 functional bugs
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: manual
AssignedTo: roland at gnu dot org
ReportedBy: siward at wanadoo dot nl
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6887
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.