>>> может содержать то что было раньше.
>> ...в этом процессе.
> А вот этого ^^^ никто IIRC никто не требует по стандартам, там
> честно говорят что память не инициализированная. И кто там как с
> ней поступил - довольно отдельный вопрос. Если некто достаточно умен чтобы
> чистить память - это хорошо, но что нам гарантирует именно такое
> поведение? Я какое-то требование на такое поведение упустил? В криптографии оптимизм
> - плохое качество. В общем случае данные остаются в памяти. То
> что конкретная система может быть и протрет их при выделении нулями
> - может быть. Но гарантий как я понимаю никаких.Малыш, открою тебе секрет: исходники Linux общедоступны - там всё написано. Тебе недоступно, что вновь предоставленная процессу память - это ссылка на единую zero-page? Тогда не прогуливай школу.
>[оверквотинг удален]
>> При выделении памяти новому процессу, ядро очищает выделяемые страницы (забивает их нулями).
> Осталось только выяснить про какое именно ядро и какой ОС говорил благородный
> дон. Вообще с точки зрения программы (особенно портабельной, а у чистой
> алгоритмики наподобие криптографии нет причин не быть портабельной) глупо надеяться на
> какое-то конкретное поведение конкретного ядра - это при случае приведет к
> залету в стиле heartbleed если у юзера окажется "не та" система,
> версия ядра и прочее.
>> Дя параноиков есть grsecurity - там патч на предмет того, чтобы занулять
>> страницы стразу после освобожнеия, а не при выделении.
> И это хорошая идея.
Только если не доверяешь ядру и ядерным модулям - только они могут читать из физической памяти.
> Но наверное может потенциально тормознуть нечто.
Может. Ок. 3% оверхэд получается.