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