Date: Mon, 4 Aug 1997 19:22:36 -0500 (CDT) From: rtwalsh@ix.netcom.com To: questions@freebsd.org Subject: mmap and MAP_ANON Message-ID: <199784172215241@>
next in thread | raw e-mail | index | archive | help
Hello there, Sorry to bug you with a question, but I couldn't find the answer anywhere, so here goes: I am trying to create a "named" memory map, with the name being "69", as in the function call below: pMem1 = mmap( NULL, 100000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, 69, 0 ); However, this does not work (returns -1, with errno 22 (invalid argument)). If I use the invalid fd of -1, then it does work, but then it is not named and I cannot get at this memory map from another process. The man page for mmap() suggests that I should be able to do this: MAP_ANON Map anonymous memory not associated with any specific file. The file descriptor used for creating MAP_ANON regions is used only for naming, and may be specified as -1 if no name is associated with the region. I am using FreeBSD 2.1.6. Is there a bug with this particular feature, or am I missing something? If you cannot help me with this particular problem, perhaps you can give me a suggestion as to how to solve the problem that I am trying to use this mmap for. I need to share memory between processes and the data in the memory is confidential, thus the shared memory functions (shmget(), etc.) are not appropriate, since anyone can use ipcs -m to get the shared memory id and write a tiny program to go get the contents of the shared memory. Any suggestions as to how I can get a moderately secure block of shared memory? Many thanks for your time, Robin. --------------------- Robin Walsh rtwalsh@ix.netcom.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199784172215241>