|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Slava Astashonok 2:5020/400 14 Oct 2004 10:16:11 To : Nick Gazaloff Subject : Re: неисполняемый стэк в 2.4 ? -------------------------------------------------------------------------------- Nick Gazaloff wrote: > Сегмент стека (мы ведь о нем говорим) _обязан_ быть сегментом данных (не > кода), и обязательно read-write. При этом код, помещенный в него, может > исполняться. Hикакой аппаратнной защиты нет. Я снова настоятельно рекомендую вам заглянуть в этот документ: http://developer.intel.com/design/pentiumii/manuals/24319202.pdf В "3.4.3.1. CODE- AND DATA-SEGMENT DESCRIPTOR TYPES" хорошо видно, что сегмент кода вовсе не может быть быть записываемым. В "5.12. EXCEPTION AND INTERRUPT REFERENCE" чётко сказано, что "Transferring execution to a segment that is not executable" вызывает Interrupt 13 General Protection Exception (#GP) Аппаратная поддержка невыполняемых сегментов была всегда - с рождения i386. > Да и странно было бы, если бы она была, но _ни_одна_ (!) ОС на x86 ее не > использовала. Это ничего не объясняет и не доказывает. -- Never trust an operating system you don't have sources for. ;-) -- Unknown source --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/73943497cb00.html, оценка из 5, голосов 10
|