2014-10-04 8 views
3

И я действительно ищу любое решение для этого - моя цель - установить область, меньшую, чем размер страницы системы, PROT_READ, PROT_WRITE, PROT_EXEC или PROT_NONE. Это возможно? Кажется, mprotect просто защищает кратное размер страницы ...C - Возможно ли mprotect что-то меньше, чем страница

Если это невозможно, в чем причина этого выбора дизайна?

+1

Похоже, вы страдаете от проблемы [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Если это поможет вам, можете ли вы опубликовать оригинальную проблему, решение которой вызвало возникновение этого вопроса? – fuz

ответ

5

Это, как правило, невозможно.

Атрибут защиты устанавливается в таблицах страниц ЦПУ, поэтому это решение для проектирования ЦП.

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