Yes, I have a good case, but my case may not sound interesting until you
see it working.
Ok, I am developing a dynamic memory allocation routine which takes
direct advantage of the ability of a machine to use Virtual Memory to
make everything look contiguous and fast.
And it just doesn't make sens to have mmap() map ANONYMOUS shared memory
and mremap() not to expand it and make the expanded area available.
I am not a 100% sure, but I don't think correcting its behavior would
cause a problem.
Would you happen to know how I can work around that issue for now, and
make writing in an expended area not to generate a Bus error?
Sincerely,
William Tambe
Hugh Dickins wrote:
On Fri, 29 Jun 2007, William Tambe wrote:
I read a post that you made about not being able to expand anonymous shared
mapping with mremap(). And I am actually having that issue now.
I guess you're referring to the thread at
http://lkml.org/lkml/2004/6/16/155
and you're asking either Stas or me.
You made the post in 2004 and we are now in 2007. I would like to know if that
feature was added because the code below always fail with bus error on my
machine. I use glibc 2.5
You've answered your own question: we did not make the change Stas
suggested, IIRC because I remained a little uneasy with that change
in behaviour, and nobody else spoke up for it.
I haven't given it any thought since then:
do you have a good case for us to reconsider it?
Hugh
Thank you for helping.
#define _GNU_SOURCE
#include <sys/mman.h>
#include <unistd.h>
#include <stdio.h>
main() {
void *ptr;
if ((ptr=mmap(0, 4096, PROT_READ|PROT_WRITE,
MAP_ANONYMOUS|MAP_SHARED|MAP_GROWSDOWN, 0, 0)) == -1) {
printf("failed to mmap\n");
return;
}
if ((ptr=mremap(ptr, 4096, 8192, MREMAP_MAYMOVE)) == -1) {
printf("failed to mremap\n");
return;
}
//why does this failed. I am well in the interval [4096, 8192]
*(unsigned int *)(ptr + 4096 + 8)= 10;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]