URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 16077
[ Назад ]

Исходное сообщение
"OpenNews: Улучшение защиты памяти в ядре FreeBSD-CURRENT"

Отправлено opennews , 04-Июн-06 22:37 
В замечаниях к текущей версии FreeBSD-CURRENT приводится информация об улучшении безопасности работы с памятью на уровне ядра, реализованном Pawel Jakub Dawidek (pjd@FreeBSD.org) под названием RedZone (http://www.freebsd.org/cgi/man.cgi?query=redzone&sektion=9&m...), предназначенном для защиты буфера от повреждения при выделении/освобождении памяти во время вызова malloc(9).


RedZone распознает ошибки переполнения буфера "сверху" и "снизу" времени выполнения (через опосредованный вызов readzone_check() до момента фактической манипуляции с ресурсами в free(9) и realloc(9)) и печатает отладочную информацию об адресах выделения и освобождения затронутой памяти вида:


REDZONE: Buffer underflow detected. 2 bytes corrupted before 0xc8688580 (16 bytes allocated).


Поведение системы по умолчанию - печать отладочной информации без вызова паники ядра (redzone_check() смотрит на настраиваемое sysctl(8)-значение vm.redzone.panic). Работает в ядре, собранном в режиме отладки.

URL: http://www.freebsd.org/cgi/man.cgi?query=redzone&sektion=9&m...
Новость: https://www.opennet.ru/opennews/art.shtml?num=7670


Содержание

Сообщения в этом обсуждении
"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено Аноним , 04-Июн-06 22:37 
ничо не понил

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено creativ , 04-Июн-06 23:07 
Кто-нибудь объяснит чем это гуд? ))

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено cvsup , 04-Июн-06 23:38 
Насколько я понимаю, теперь станет проще отлаживать систему (ядро в частности).
Чем это гуд? Все лучше, когда баги выплывают на этапе тестирования, а не в виде send-pr(1)
Вот еще related links, где redzone так или иначе упоминается:
ядерный malloc(9):
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_mall...
библиотечный malloc(3):
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/ma...
тот самый redzone(9), в частности redzone_check(), который вызывают из юзер- и кернелспейса в free(), realloc() /etc:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/vm/redzone.c?r...
а это откуда я собственно и узнал - коммиту redzone 4 месяца %) только т-сс:
http://www.freebsd.org/relnotes/CURRENT/relnotes/i386/new.html

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено Дима , 05-Июн-06 07:30 
на производительность как повлияет?

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено nobody , 05-Июн-06 08:36 
> Работает в ядре, собранном в режиме отладки.
Думаю будет не шибко быстро.

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено Аноним , 05-Июн-06 09:07 
что б это понять - надо прочитать МакКузика - благо книга по внутреннему строения и архитектуре 5,2(какая разница 6 или 7 - политика будет сохраняться) есть - там malloc используется для выделения больших участков памяти в ядре в отличие от zlloc (не большие участков памяти) что даст? -даст стабильность работы  в ядре ,,, - IMHO

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено X0R , 05-Июн-06 10:16 
man page
http://www.freebsd.org/cgi/man.cgi?query=redzone&sektion=9&m...

"Улучшение защиты памяти в ядре FreeBSD-CURRENT"
Отправлено cvsup , 07-Июн-06 19:02 
src/UPDATING

20060113:
    libc's malloc implementation has been replaced.  This change has the
    potential to uncover application bugs that previously went unnoticed.