Управление памятью в Linux - PullRequest
       77

Управление памятью в Linux

5 голосов
/ 15 апреля 2011

Есть ли способ пометить выполнение страницы только без прав на чтение? (т.е. я могу выполнять инструкции на этой странице, не имея прав на чтение той страницы, которая является исполняемой.)

Моя конечная цель - создать страницу, которую я могу выполнить, но никакой другой процесс не сможет получить доступ к этой странице.

1 Ответ

4 голосов
/ 15 апреля 2011

Это одна из вещей, которая зависит от ядра и оборудования, как упомянуто на mprotect() странице руководства :

То, оказывает ли PROT_EXEC какой-либо эффект, отличный от PROT_READ, зависит от архитектуры и версии ядра.

В недавних ядрах Linux / x86 эти флаги являются определенно дискретными, если ваш процессор поддерживает NX-бит . На других процессорах x86 это зависит от того, поддерживает ли ваше ядро ​​ Exec-Shield или другую подобную эмуляцию NX-бита.

...