> Реальность, увы, иная. JIT используется много где, и понятно зачем.Желаю все оптимизировать во время компиляции под свой проц, а во время исполнения иметь гарантию неизменности кода.
> К слову, не каждая реализация JIT должна требовать W|X
Исполнение ранее измеряемого кода - неприемлемо. Как и изменение прав x -> w -> x
> программа сначала должна решать какую-то проблему, а потом уже быть безопасной.
Вот это аргумент! Или прога проектируется удовлетворять элементарным требованиям безопасности, или она не будет безопасна никогда. И мне такая прога не нужна.
> Как и ОС, в которой ни ff ни chrome не запустить.
Это не безопасные бровзеры, хотя поняв что их люди выкинули из-за JIT все дружно добавили опции 'configure --no-jit'
> Ты, как разработчик или пользователь ПО можешь герентировать отсутствие W|X при помощи pledge. Убивать приложение при нарушении W^X будет именно ядро
Мое ядро все что только попросит память в режимеиwx прибивает сразу.
> Их (гарантий) нет и в PAX. Можно отключить защиту как глобально, так и per app.
У тебя нет, а у меня есть, возможность глобально отключить PAX требует перезагрузки, но я эту опцию в настройках ядра не включил.
По приложениям можно менять или заглавие ELF или xattr, но для этого надо root. А у меня / смонтирован ro и ядро недаст его перемонтировать rw, потому что мое ядро следит чтобы диски тоже в режиме rw,exec не монтировались. А кроме того есть IMA которая заблокирует изменения ELF и есть EVM которая заблокирует изменения IMA и xattr. У меня есть 100% гарантия.
> Во-первых, при наличии удобного, ранее отсутствовавшего инструмента - почему нет?
Во-вторых, ты можешь попатчить нужное сам, как это пока опенбсдшники и делают для ff, например.
Давным давно я на это потратил пару лет, патчи слал разрабам, обяснял как надо писать код, многие исправились.
> В третьих, если сами разработчики хорошо положат болт на безопасность своего ПО, никакое pledge или pax тебе не поможет.
Ложим болт на их поделки. KDE со своими скриптами с JIT, ... во многих ынтерпрайз дистрах дефолтный DE?