...
Рекомендации для разработчиков
Ошибка "cannot enable executable stack as shared object requires: Permission denied" возникает при выполнении системного вызова mprotect(). Для предотвращения возникновения ошибки:
- При сборке ПО не использовать параметр компиляции -z execstack. Это опцияЭтот параметр, передаваемая передаваемый компоновщику. Ключевое слово execstack означает, что инструкции, расположенные в стеке, могут быть выполнены.
- Для выявления попыток установки флага исполнения (выявления обращений к системному вызову mprotect()) использовать инструмент strace.