Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Рекомендации для разработчиков

Ошибка "cannot enable executable stack as shared object requires: Permission denied" возникает при выполнении системного вызова mprotect(). Для предотвращения возникновения ошибки:

  1. При сборке ПО не использовать параметр компиляции -z execstack. Это опцияЭтот параметр, передаваемая передаваемый компоновщику. Ключевое слово execstack означает, что инструкции, расположенные в стеке, могут быть выполнены.
  2. Для выявления попыток установки флага исполнения (выявления обращений к системному вызову mprotect()) использовать инструмент strace.