Messages in this thread | | | Date | Wed, 02 Apr 2008 17:03:07 +0200 | From | Bernd Schmidt <> | Subject | Re: nommu: handling anonymous mmap clearing in userspace rather than kernel |
| |
Mike Frysinger wrote: > On Wed, Apr 2, 2008 at 10:20 AM, David Howells <dhowells@redhat.com> wrote: >> Mike Frysinger <vapier.adi@gmail.com> wrote: >> > a workaround: introduce a new no-mmu-only mmap flag MAP_UNINITIALIZE >> > to signal to the kernel that it should skip the memset(). this way, >> > userspace malloc() can do mmap(MAP_ANONYMOUS|MAP_UNINITIALIZE) to get >> > large chunks of memory without affecting any other anonymous mmap() >> > call. >> >> I think that's reasonable for NOMMU. It's not like the process accessing the >> uninitialised memory is prevented from accessing anything it wants to anyway. >> >> I would vote that the memset() should only be skipped if requested as there >> may be programs that call mmap(MAP_ANONYMOUS) expecting the memory they're >> given to be zeroed out. > > in the second proposal, the C library would be expected to do this, so > no programs would be broken. but you're right that any program that > invokes the mmap() syscall directly would not get zeroed memory ... > but is anyone doing such a crazy thing, let alone on embedded ?
It's not a guarantee we should break. What's wrong with just using the MAP_UNINITIALIZE code we have?
Bernd -- This footer brought to you by insane German lawmakers. Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368 Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
| |