public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug libc/15560] New: munmap subregion of memory maped by mmap
@ 2013-06-02 6:40 zylcf818 at 163 dot com
2013-06-02 6:42 ` [Bug libc/15560] " zylcf818 at 163 dot com
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: zylcf818 at 163 dot com @ 2013-06-02 6:40 UTC (permalink / raw)
To: glibc-bugs
http://sourceware.org/bugzilla/show_bug.cgi?id=15560
Bug ID: 15560
Summary: munmap subregion of memory maped by mmap
Product: glibc
Version: unspecified
Status: NEW
Severity: minor
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: zylcf818 at 163 dot com
CC: drepper.fsp at gmail dot com
in rhel6.2, I mmap 3 pages, and munmap the middle page, but the behavior of
munmap() seems to be strange, below is code:
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <cstring>
int main(int argc, char *argv[])
{
char* addr = (char*)mmap(NULL, 4096*3, PROT_READ|PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
if (addr == MAP_FAILED)
printf("Failed to mmap\n");
memcpy(addr, "abc", 3);
memcpy(addr+4096, "def", 3);
memcpy(addr+8192, "ghi", 3);
// printf("%10p\n", addr);
// printf("%10p\n", addr+4096);
// printf("%10p\n", addr+8192);
// printf("%s\n", addr);
// printf("%s\n", addr+4096);
// printf("%s\n", addr+8192);
int rs = munmap(addr+4096, 4096);
if ( rs != 0 )
printf("failed to munmap\n");
printf("%s\n", addr);
printf("%s\n", addr+4096);
printf("%s\n", addr+8192);
memcpy(addr, "123", 3);
memcpy(addr+4096, "456", 3);
memcpy(addr+8192, "789", 3);
printf("%s\n", addr);
printf("%s\n", addr+4096);
printf("%s\n", addr+8192);
exit(EXIT_SUCCESS);
} /* main */
>g++ -g -o mmap mmap.cpp
>./mmap
abc
abc
ghi
123
123
789
if I comment off printf... in code, the result is what I expect:
0x7f3c4a274000
0x7f3c4a275000
0x7f3c4a276000
abc
def
ghi
abc
Segmentation fault (core dumped) <--- what I expect
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libc/15560] munmap subregion of memory maped by mmap 2013-06-02 6:40 [Bug libc/15560] New: munmap subregion of memory maped by mmap zylcf818 at 163 dot com @ 2013-06-02 6:42 ` zylcf818 at 163 dot com 2013-06-02 8:10 ` schwab@linux-m68k.org 2014-06-13 17:33 ` fweimer at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: zylcf818 at 163 dot com @ 2013-06-02 6:42 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=15560 --- Comment #1 from zhangyue <zylcf818 at 163 dot com> --- Maybe I report this problem to kernel guys? -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libc/15560] munmap subregion of memory maped by mmap 2013-06-02 6:40 [Bug libc/15560] New: munmap subregion of memory maped by mmap zylcf818 at 163 dot com 2013-06-02 6:42 ` [Bug libc/15560] " zylcf818 at 163 dot com @ 2013-06-02 8:10 ` schwab@linux-m68k.org 2014-06-13 17:33 ` fweimer at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: schwab@linux-m68k.org @ 2013-06-02 8:10 UTC (permalink / raw) To: glibc-bugs http://sourceware.org/bugzilla/show_bug.cgi?id=15560 Andreas Schwab <schwab@linux-m68k.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> --- The compiler is optimizing out the memory loads, which is a perfectly valid transformation in the presense of undefined behaviour. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libc/15560] munmap subregion of memory maped by mmap 2013-06-02 6:40 [Bug libc/15560] New: munmap subregion of memory maped by mmap zylcf818 at 163 dot com 2013-06-02 6:42 ` [Bug libc/15560] " zylcf818 at 163 dot com 2013-06-02 8:10 ` schwab@linux-m68k.org @ 2014-06-13 17:33 ` fweimer at redhat dot com 2 siblings, 0 replies; 4+ messages in thread From: fweimer at redhat dot com @ 2014-06-13 17:33 UTC (permalink / raw) To: glibc-bugs https://sourceware.org/bugzilla/show_bug.cgi?id=15560 Florian Weimer <fweimer at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |security- -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-06-13 17:33 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-06-02 6:40 [Bug libc/15560] New: munmap subregion of memory maped by mmap zylcf818 at 163 dot com 2013-06-02 6:42 ` [Bug libc/15560] " zylcf818 at 163 dot com 2013-06-02 8:10 ` schwab@linux-m68k.org 2014-06-13 17:33 ` fweimer at redhat dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).