Если я использую mmap() для некоторых ЧАСТНЫХ и АНОНИМНЫХ страниц, а затем расширяю их с помощью mremap(), новое пространство также инициализируется нулями?
Я пытался прочитать код для mremap (mm/mremap.c) в исходном коде Linux, но для этого требуются некоторые знания предметной области, которых у меня сейчас нет (материал vma_###). Даже не уверен, что это правильное место для поиска...
Но из того, что я собрал, я думаю, что память, обработанная mremap(), будет очищена, правильно ли это?
Распределение делается так
list = mmap(NULL, newSize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)
а потом ремап делается вот так
newList = mremap(list, oldSize, newSize, MREMAP_MAYMOVE)
Ах, и наконец, это вопрос, касающийся Linux, с последним ядром (>=2.6.28) и libc (>= 2.11.1)