Re: [patch 0/4] MAP_NOZERO v2 - VM_NOZERO/MAP_NOZERO early summer madness

Rik van Riel
2007-06-29T03:04:37Z

Kyle Moffett wrote:
> On Jun 28, 2007, at 14:49:24, Davide Libenzi wrote:
>> I was using oprofile to sample some userspace code I am working on,
>> and I was continuosly noticing clear_page in the top three entries
>> of the oprofile logs.
>>
>> Also, a simple kernel build, in my Dual Opteron with 8GB of RAM,
>> shows clear_page as the first kernel entry, second only to the
>> userspace the cc1 and as. Most of the userspace code uses malloc()
>> (and anonymous mappings) in such a way that the memory returned via
>> kernel->glibc is immediately written soon after. The POSIX malloc()
>> definition itself also, does not require the returned memory to be
>> zeroed (as calloc() does).
>>
>> So I implemented a rather quick hack that introduces a new mmap() flag
>> MAP_NOZERO (only valid for anonymous mappings) and the vma
>> counter-part VM_NOZERO. Also, a new sys_brk2() has been introduced to
>> accept a new flags parameter. A brief description of the patches
>> follows in the next emails.
>
> Hmm, sounds like this would also need a "MAP_NOREUSE" flag of some kind
> for security sensitive applications.

That wants MAP_PRIVATE so that the kernel can also decide to not
swap these pages out to an unencrypted swap area.

--
Politics is the struggle between those who want to make their country
the best in the world, and those who believe it already is. Each group
calls the other unpatriotic.