Я хотел бы знать, можно ли установить разрешения для записи таблицы страниц для MMU ARM7 (в частности, Cortex A8), чтобы выполнение кода со страницы было разрешено, но чтение не разрешено.
Если разрешения являются ортогональными, вы можете подумать, что если XN (выполнять никогда) не установлено, это выполнение будет разрешено независимо от того, разрешено ли чтение.
Конечно, некоторый код ARM считывает сам себя во время выполнения (например, для получения литералов, которые хранятся сразу за концом функции), такой код вряд ли будет работать.
Если код, который вы пытались выполнить, не выполнял каких-либо операций чтения из самого себя (точнее, со страницы с отключенным чтением), будет ли код выполняться, как ожидалось, или вы получите прерывание данных (или другое) исключение?