The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью

28.02.2021 10:47

В состав находящегося в разработке ядра Linux 5.12 включена реализация механизма KFence (Kernel Electric Fence), который проверяет работу с памятью, отлавливая выход за границы буферов, обращения к памяти после освобождения и другие ошибки подобного класса.

Подобная функциональность уже присутствовала в ядре в виде опции сборки KASAN (kernel address sanitizer, использует Address Sanitizer в современных gcc и clang) - однако позиционировалась в основном для отладочного применения. Подсистема KFence отличается от KASAN высокой скоростью работы, что позволяет использовать эту возможность даже на ядрах в рабочих системах.

Применение на рабочих системах даст возможность отлавливать ошибки работы с памятью, которые не проявляются в тестовых запусках и всплывают только на рабочих нагрузках или при длительной работе (при большом uptime). Кроме того, применение KFence на рабочих системах даст возможность существенно увеличить число машин, вовлечённых в проверку работы ядра с памятью.

Минимальные накладные расходы, не зависящие от нагрузки, достигаются в KFence благодаря подстановке страниц защиты (guard pages) в кучу через фиксированные интервалы. После истечения времени очередного интервала защиты KFence через штатную систему распределения памяти (SLAB или SLUB allocator) добавляет очередную страницу защиты из пула объектов KFence, и начинает новый отчёт счётчика времени. Каждый объект KFence размещается в отдельной странице памяти, а страницы памяти по левой и правой границе образуют страницы защиты (guard pages), размер которых выбирается случайно.

Таким образом, страницы с объектами отделяются друг от друга страницами защиты, которые настраиваются на генерацию "page fault" при любом обращении. Для выявления операций записи за границу буфера внутри страниц с объектами дополнительно используются "красные зоны" на основе шаблонов, которые занимают память, не используемую объектами, остающуюся при выравнивании размера страниц памяти.


---+-----------+-----------+-----------+-----------+-----------+---
   | xxxxxxxxx | O :       | xxxxxxxxx |       : O | xxxxxxxxx |
   | xxxxxxxxx | B :       | xxxxxxxxx |       : B | xxxxxxxxx |
   | x GUARD x | J : RED-  | x GUARD x | RED-  : J | x GUARD x |
   | xxxxxxxxx | E :  ZONE | xxxxxxxxx |  ZONE : E | xxxxxxxxx |
   | xxxxxxxxx | C :       | xxxxxxxxx |       : C | xxxxxxxxx |
   | xxxxxxxxx | T :       | xxxxxxxxx |       : T | xxxxxxxxx |
---+-----------+-----------+-----------+-----------+-----------+---

В случае попытки обращения к области вне границ буфера операция затрагивает страницу защиты, что приводит к генерации "page fault", который перехватывает KFence и выводит в лог данные о выявленной проблеме. По умолчанию KFence не блокирует ошибку и лишь выводит предупреждение в лог, но предусмотрена настройка "panic_on_warn", позволяющая в случае выявления ошибки переводить ядро в состояние краха (panic).

  1. Главная ссылка к новости (https://www.phoronix.com/scan....)
  2. OpenNews: Выпуск модуля LKRG 0.8 для защиты от эксплуатации уязвимостей в ядре Linux
  3. OpenNews: Проблемы с безопасностью в патчах, предложенных сотрудником Huawei для защиты ядра Linux
  4. OpenNews: Экспериментальная поддержка пересборки ядра Linux в Clang с механизмом защиты CFI
  5. OpenNews: Проект grsecurity опубликовал реализацию механизма защиты RAP для ядра Linux
  6. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
Автор новости: Аноним
Тип: К сведению
Короткая ссылка: https://opennet.ru/54671-kernel
Ключевые слова: kernel, kfence, kasan
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (192) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, A.Stahl (ok), 10:43, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +26 +/
    Всё, Раст больше не нужен? (Ну, он и раньше был не нужен, но теперь за него вообще никаких аргументов не осталось)
     
     
  • 2.4, ИмяХ (?), 10:46, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Благодаря этому инструменту выявятся те участки кода, которые нужно переписать на раст.
     
     
  • 3.6, Аноним (6), 10:57, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нужно ли? Чтобы добавить оверхед на пустом месте?
     
     
  • 4.12, Аноним (12), 11:31, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +11 +/
    А сабж - оверхед не на пустом месте?
     
     
  • 5.17, Аноним (6), 11:57, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сабж только для разработки и вполне отключается.
     
     
  • 6.178, Аноним (178), 20:37, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сабж таки позиционируется как годный и для продакшнового применения. Если от KASAN оверхед солидный то от этого уже куда разумнее. Поэтому можно позволить себе избавиться от непонятных барабашек и сделать хакерам неудобно. Если это важнее максимального перфоманса любой ценой.
     
     
  • 7.184, Аноним (6), 20:49, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если есть проблемы. Если их нет, то и оверхэд ни к чему.
     
     
  • 8.196, Аноним (196), 10:25, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оно как бы да И все же в проекте ТАКОГО размера уповать на полное отсутствие ба... текст свёрнут, показать
     
  • 5.18, Anonimous (?), 11:58, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так сабж всегда можно отключить, если дебаг не нужен. При отклюбчении не будет и оверхеда.
     
  • 5.19, Аноним (19), 11:58, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сабж это культ-карго от легковерных туземцев, которые ужас как боятся дыреней.
     
     
  • 6.79, пердёжник (?), 16:54, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Сабж это культ-карго от легковерных туземцев, которые ужас как боятся дыреней.

    Ну да, это нормально когда у вас приложение вылетает раз в час (сарказм)

     
     
  • 7.140, Аноним (140), 23:13, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас 2021 год сейчас ничего не вылетает раз в час. Вылезь уже из криокамеры.
     
     
  • 8.154, пердёжник (?), 19:38, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    у меня десяточка стабильно вылетает раз в неделю с синим экраном Полностью пере... текст свёрнут, показать
     
  • 7.179, Аноним (178), 20:37, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну да, это нормально когда у вас приложение вылетает раз в час (сарказм)

    Это вы про питон наверное, там класть на ошибки норма, поэтому оно в какой-то момент просто осыпается с диким стэктрейсом как раз.

     
  • 6.170, Аноним (-), 20:16, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нене, за карго культом - к растаманам. У них там эрзац пакетного менеджера.
     
  • 4.43, Owlet (?), 14:14, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У раста нет оверхеда по сравнению с си на эквивалентном коде. Все его фичи работают во время компиляции.
     
     
  • 5.45, Аноним (6), 14:45, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это не так, мы уже выяснили.
     
     
  • 6.50, Аноним (12), 14:53, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сылки на треды, в которых проходило обсуждение
     
     
  • 7.137, Аноним (-), 19:56, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Сылки на треды, в которых проходило обсуждение

    "Мы все так говорим, а значит это правда!" (с)

     
  • 7.142, Nuzhny (?), 23:43, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Brotli обсуждали? Вот: https://dropbox.tech/infrastructure/lossless-compression-with-brotli
    Dropbox попробовал переисать на Раст и получилось на 28% медленнее. Причины освещены в статье.
     
     
  • 8.147, Аноним (-), 16:40, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А grep переписали в ripgrep и получилось быстрее Причем не в абстрактновакуумны... текст свёрнут, показать
     
     
  • 9.161, Nuzhny (?), 06:42, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А мой папа Так дети в песочнице хвалятся А где тесты, где пруфы, где анализ то... текст свёрнут, показать
     
     
  • 10.166, Аноним (-), 14:46, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так дети, пытающиеся казаться взрослыми, умничают, не пытаясь понять смысл прочи... большой текст свёрнут, показать
     
     
  • 11.167, Аноним (-), 14:49, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле - данной Вами ссылкой Ни кода, ни данных на которых тестировали там я ... текст свёрнут, показать
     
  • 11.168, Nuzhny (?), 16:55, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    О, совсем другое дело Почитаю ... текст свёрнут, показать
     
  • 9.180, Аноним (178), 20:39, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А кто сказал что там алгоритмы одинаковые были Вон там сравнили один конкретный... текст свёрнут, показать
     
     
  • 10.186, тот самый аноним (?), 00:58, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    При этом, один и тот же алгорим может быть реализован разными способами, что сущ... текст свёрнут, показать
     
     
  • 11.197, Аноним (-), 10:33, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оно как бы да, но есть нюансы Вот конкретно это - и правда довольно странная шт... большой текст свёрнут, показать
     
  • 8.164, Alexey (??), 08:17, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надеюсь вы сами прочитали статью Dropbox как минимум утверждает, что 1 реализа... текст свёрнут, показать
     
     
  • 9.165, Совершенно другой аноним (?), 09:50, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там как-то текст немного по дебильному написан ----X8 Currently the decompr... большой текст свёрнут, показать
     
     
  • 10.181, Аноним (178), 20:41, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И это, gcc 4 9 немного протух А они не хотят хотя-бы 9 10 взять А то б еще 2 ... текст свёрнут, показать
     
     
  • 11.190, Совершенно другой аноним (?), 10:01, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там просто статья за 2016 год, тогда максимальная версия gcc была 5 X, но может ... текст свёрнут, показать
     
  • 10.188, Alexey (??), 06:35, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да, похоже на то Они как-то коряво написали, но дальше однозначно Activating un... текст свёрнут, показать
     
  • 10.198, Аноним (198), 13:58, 07/03/2021 Скрыто модератором
  • +/
     
  • 5.49, Славик (?), 14:53, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Smart_pointer - это разве не оверхед? Каждое обращение к памяти со спинлоком!
     
     
  • 6.51, Аноним (12), 15:01, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –8 +/
    у тебя весь код состоит из смартпоинтеров?
     
  • 6.95, Онаним (?), 23:00, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Самое место внутри IRQ :D
     
     
  • 7.120, n00by (ok), 08:20, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Но у меня на виртуалке работает!"  :D
     
  • 6.124, Siborgium (ok), 09:44, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оверхед, но никаких спинлоков там нет. Проблема там в том, что умные указатели плохо оптимизируются, но от этого страдают и кресты в той же степени.
     
  • 6.131, _ (??), 14:20, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О каких умных указателях ты говоришь?

    Обычные ссылки (&T, &mut T) имеют в рантайме оверхеда даже меньше чем обычные указатели, ибо у них намного более строгие правила алиасинга

    Box оверхед имеет только на этапе компиляции, в рантайме это тот же malloc/free
    Rc имеет оверхед Box + подсчёт ссылок через inc/dec
    Arc - тот же Rc, только подсчёт ссылок атомарный

    Таким образом оверхед ты задаёшь явно, и там где надо можешь обойтись без него
    Ни о каких спинлоках речи не идёт, если ты сам не создашь свой умный указатель со спинлоками, и не назовёшь его SpinLock

     
     
  • 7.169, Аноним (-), 20:12, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Указатель обычно сводится к вгрузке аж 1 регистра (базы) константой (адресом), от которого потом и пляшут. В лучшем случае - круть типа LTO еще потом допрет, что вон там и вон там уже похожее было, так что вместо кодирования всего адреса закодирует только смещение в команде. В каком месте может оверхед возникнуть? Это ж примитивные регистровые операции в современных процессорах. Можно даже прямо относительно PC (IP, ...) кодировать на нормальных процах с относительной адресацией, ARM такое очень любят. Уродцы типа x86-32 не в счет, ими уже почти никто не пользуется.

    Там и так эффективность запредельная, LZ4 даже на чистом асме народ побить не смог.

     
     
  • 8.199, _ (??), 11:28, 11/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оверхед появляется на оптимизируемом коде с алиасингом, см сишный restrict В Rus... текст свёрнут, показать
     
  • 5.81, Аноним (81), 17:20, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Садись, два
     
  • 5.125, Siborgium (ok), 09:45, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Полная чушь. Да, на расте можно писать как на си, но тогда он от си ничем не отличается. На сейф расте оверхед есть и он очень заметный.
     
  • 5.149, Аноним (149), 16:42, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ооооооооооооо даааааааааааааааааааааааа

    уволен по причине некомпетентности, гуляй вася

     
  • 4.94, Онаним (?), 22:59, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нужно. А то ядро почти не течёт.
     
  • 3.62, Аноним (62), 15:43, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Благодаря этому инструменту выявятся те участки кода, которые нужно переписать на раст.

    Но зачем? Раз уж выявили, то можно существующих код на C подправить.

     
     
  • 4.82, Аноним (81), 17:21, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да это просто влажные мечты растомана. Проходим мимо
     
  • 4.189, пердёжник (?), 08:25, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Но зачем? Раз уж выявили, то можно существующих код на C подправить.

    тоже логично

     
  • 3.148, Аноним (149), 16:41, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет не выявляются.
     
  • 3.171, Аноним (-), 20:17, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Благодаря этому инструменту выявятся те участки кода, которые нужно переписать на раст.

    Пофиксить их на си будет сильно проще. А так растишки свой redox уже который там год переписыват. Но пока вроде ни 1 живого дева юзающего свое недоразумение для хотя-бы разработки ОС так и нет?

     
  • 2.7, Аноним (7), 10:59, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ты не так остёр, как думаешь.

    Поздно пить смузи, когда продакшн упал. И удачи с исправлением в исходниках и слел6ующим деплоем.

     
     
  • 3.54, Аноним (54), 15:12, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что самое интересное, его плюсуют какие-то смузи-фанбои, что говорит о том, насколько интеллектуально развиты 95% местной аудитории
     
     
  • 4.64, Аноним (62), 15:46, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так смузи-фанбои они же наоборот, за Rust топят.
     
  • 4.68, Аноним (68), 15:59, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > что самое интересное, его плюсуют какие-то смузи-фанбои, что говорит о том, насколько интеллектуально развиты 95% местной аудитории

    Сам и плюсует - делов-то, запустить скрипт трехстрочник.


     
  • 2.10, Леголас (ok), 11:27, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Всё, Раст больше не нужен?

    Fracta1L теперь не нужен.

     
     
  • 3.13, A.Stahl (ok), 11:38, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +14 +/
    (Ну, он и раньше был не нужен, но теперь за него вообще никаких аргументов не осталось)
     
  • 3.20, Аноним (19), 11:59, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Безопасных языков еще полно, можно за любой топить хоть за zig.
     
     
  • 4.46, Аноним (6), 14:48, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Безопасных языков еще полно, можно за любой топить хоть за zig.

    Я топил за zig 8 лет назад, теперь я топлю за си, как за самый безопасный (в сравнении с теми же плюсами или даже джавой).

     
     
  • 5.141, Аноним (140), 23:15, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Языку zig 5 лет, а топил ты за него когда его не было. Завязывай уже с тем что ты там делаешь.
     
     
  • 6.143, Аноним (6), 06:13, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И что такого? Я оценил аргументы автора ещё когда он только разрабатывался. Но, в конечном счёте, пришлось признать, что си при грамотном подходе намного лучше альтернатив.
     
     
  • 7.172, Аноним (-), 20:23, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Для си статический анализ и инструментацию более-менее нарулили А типовые пробл... большой текст свёрнут, показать
     
  • 3.67, Аноним (62), 15:48, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Fracta1L теперь не нужен.

    Но, ведь, скучно без него будет :)

     
  • 2.16, anonymous (??), 11:55, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот кусочек за кусочком пытаются из Си сделать недо-Rust :)
     
     
  • 3.21, alex312 (?), 12:00, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    раст, в отличии от, делает проверки на этапе компиляции
     
     
  • 4.32, Аноним (32), 12:46, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    переполнение буфера от присланного по сети кривого пакета раст тоже на этапе компиляции проверяет?
     
     
  • 5.35, Аноним (35), 13:20, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    При обращении к буферу Rust автоматически сделает проверки на выход за границу. При выходе будет либо паника, либо вернется Option::None, зависит как обращаться. Если эти проверки гарантированно не нужны, их выкинет оптимизатор. Для чтения данных применяются методы, которые тоже проверяют границы переданного им буфера, и не выходят за границу. (Слайсы в Rust содержат не только голый указатель, но и длину).

    Я не работал с голыми пакетами, но если объясните подробнее, как при кривом пакете происходит переполнение буфера, буду благодарен.

     
     
  • 6.126, Siborgium (ok), 09:49, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так нет оверхеда, или есть автоматические проверки на выход за границу?
     
     
  • 7.158, Аноним (158), 01:28, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Так нет оверхеда, или есть автоматические проверки на выход за границу?

    Эти проверки и в Си по хорошему надо делать, поэтому никакого оверхеда, только автоматизация. Но если вотпрямкапецкакнадо, есть unsafe-метод.

     
  • 6.127, Совершенно другой аноним (?), 10:57, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Например, кривой пакет состоит из заголовка плавающего размера и тела. Например, в заголовке,  по лучшим традициям Microsoft (у них часто применялся такой подход) в самом начале есть длина заголовка, на основании которого можно вычислить, где начинается тело и размер самого тела пакета. Ну и вот, вдруг, например размер заголовка кто-то сформировал не 10, а 100. Соответственно при разборе такого пакета можно вылететь за буфер на 90 байт, если взаимно не контролировать все эти длины и между собой и с общей длиной пакета.
     
     
  • 7.159, тот самый Аноним (?), 01:37, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пакет с такой неверной длиной считается криво, но без вылетов за границу Если ч... большой текст свёрнут, показать
     
     
  • 8.182, Аноним (-), 20:46, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно интересно будет когда ты попробуешь все это в кернел моде провернуть А... большой текст свёрнут, показать
     
  • 5.44, Аноним (-), 14:38, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > переполнение буфера от присланного по сети кривого пакета раст тоже на этапе
    > компиляции проверяет?

    Пинание погроммиста использовать итератор, если он не хочет по умолчанию получить баундчек в рантайме, происходит на этапе компиляции.


     
     
  • 6.53, Сишник (?), 15:10, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну так и в сишке можно массив гарантированно обойти без промаха и проверок - макрос тип FOR(list, pointer, type) юзаешь и всё.
     
     
  • 7.55, Аноним (12), 15:15, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Кто-то говорил, что нельзя? А почему все не юзают? А говорит ли об этом компилятор? А почему мне язык не даст по рукам, если я использую небезопасную версию, если безопасная версия не имеет штрафа по перформансу?
     
     
  • 8.70, Сишник (?), 16:01, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так это ж не встроено в язык ... текст свёрнут, показать
     
     
  • 9.73, Аноним (-), 16:16, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Таково древнее наследие обратной совместимости и отсутствие проработанной базы ... текст свёрнут, показать
     
     
  • 10.78, Сишник (?), 16:43, 28/02/2021 Скрыто модератором
  • –2 +/
     
  • 8.88, Аноним (88), 20:27, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По той же причине по которой используют неэффективные алгоритмы или пишут свой в... текст свёрнут, показать
     
     
  • 9.101, Аноним (12), 23:22, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То есть эта хитрая штука не переносима между платформами Язык Си точно для крос... текст свёрнут, показать
     
     
  • 10.128, Совершенно другой аноним (?), 11:02, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скажем так, по всей видимости разработчики стандарта C никак не могли повлиять н... текст свёрнут, показать
     
     
  • 11.135, Аноним (135), 18:23, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну то есть эта штука не кросплатформенна... текст свёрнут, показать
     
     
  • 12.144, Совершенно другой аноним (?), 10:16, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На тот момент было а других кроссплатформенных языков у меня для Вас нет с ... большой текст свёрнут, показать
     
  • 10.162, Siborgium (ok), 07:08, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Раст работает на всех даже если принять работающими tier-3 платформы платформа... текст свёрнут, показать
     
  • 10.183, Аноним (-), 20:49, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так то си есть для сильно большего количества архитектур чем хруст А что, хруст... текст свёрнут, показать
     
  • 7.72, Аноним (-), 16:12, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну так и в сишке можно массив гарантированно обойти без промаха и
    > проверок - макрос тип FOR(list, pointer, type) юзаешь и всё.

    Понимаешь, алгебраические типы данных и отсутствие null - это не только модные слова акедемических смузихлебов последних 30 лет, но и возможность для компилятора сильно ограничить некорректные состояния вычислений и выкинуть на*рен все лишние проверки, заэнфорсив только одну - при проверке входящих данных.

     
     
  • 8.74, Сишник (?), 16:21, 28/02/2021 Скрыто модератором
  • –1 +/
     
  • 8.163, Siborgium (ok), 07:09, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Покажи, где ты в С нашел null, и где в switch-case по union с тегом у тебя будут... текст свёрнут, показать
     
  • 8.185, Аноним (-), 20:52, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как ни странно, GCC в этом довольно неплохо преуспевает А прикинь, он сам умеет... большой текст свёрнут, показать
     
     
  • 9.187, Аноним (-), 01:15, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А прикинь - как ни странно, для этого используются наработки смузихлебов по оп... большой текст свёрнут, показать
     
  • 4.173, Аноним (-), 20:25, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > раст, в отличии от, делает проверки на этапе компиляции

    А тут их железка делает. Условно халявно - она всегда это делает, просто более креативное использование paging. Хруст, кстати, без MMU тоже, видите ли, много чего не могет - так он тоже на поддержку некоторых constraints железками полагается.

     
  • 2.80, freecoder_xx (?), 17:01, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это пять! Зашел сюда специально, чтобы почитать комменты про Rust. Заголовок новости просто кричит о том, что в комментариях будут его обсуждать. )
     
     
  • 3.84, Анончик (?), 18:38, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну только поржать над людьми которые больше helloworld.c не видели и даже не вдупляют что такое санитайзер.
     
  • 2.83, Анончик (?), 18:36, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    каким был тролем таким и остался. Думал возраст тебя исправит но видно нет.
     
  • 2.92, GrayRats (ok), 22:13, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ммм ядро пишут на С и Shell и других очень низких языках раст тут не нужен
     
     
  • 3.93, Аноним (-), 22:58, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > ммм ядро пишут на С и Shell и других очень низких языках раст тут не нужен
    > ядро пишут на С и Shell
    > Shell и других очень низких языках

    Это опеннет ...

     
     
  • 4.121, n00by (ok), 08:24, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> ммм ядро пишут на С и Shell и других очень низких языках раст тут не нужен
    >> ядро пишут на С и Shell
    >> Shell и других очень низких языках
    > Это опеннет ...

    Как минимум Rosa Tresh полностью автономна и написана баш-программистами.

     
  • 3.174, Аноним (-), 20:26, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > ммм ядро пишут на С и Shell и других очень низких языках раст тут не нужен

    На shell там разве что кусочки системы сборки, лол.

     
  • 2.146, Аноним (149), 16:40, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А он был кому-то кроме фрактала (не написавшего не строчки) нужен?
     

     ....большая нить свёрнута, показать (98)

  • 1.3, Аноним (-), 10:46, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лучше бы добавили простую возможность узнавать-проверять валидные границы памяти в приложениях, существующие решения или набор непереносимых костылей или огромные библиотеки снижающие производительность
     
     
  • 2.5, Онаним (?), 10:51, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Такая возможность в C/C++ и много других языков уже давно добавлена.
    if или assert, по вкусу.
     
  • 2.22, Аноним (19), 12:02, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Умные указатели уже миллион лет как придумали в с++. Это все равно что аналог safe в с++.
     
     
  • 3.30, Аноним (12), 12:25, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Умные указатели уже миллион лет как придумали в с++

    А когда запретят писать на "тупых" указателях?

    > Это все равно что аналог safe в с++

    Что ты подразумеваешь под safe?

     
     
  • 4.34, SR_team (ok), 13:18, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А когда запретят писать на "тупых" указателях?

    Не раньше, чем из раста полностью удалят unsafe, и любой код будет safe, т.е. никогда

     
     
  • 5.56, Аноним (12), 15:18, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ему про тупые указатели, он про раст и safe, сначала определи, что такое safe, можешь при этом не использовать слово "раст"
     
     
  • 6.138, Аноним (140), 23:10, 01/03/2021 Скрыто модератором
  • +/
     
  • 6.145, SR_team (ok), 10:48, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ему про тупые указатели

    они unsafe

    > он про раст и safe, сначала определи, что такое safe

    да, потому что полностью избавится от тупых указателей нельзя, даже если интерфейсы пользователя будут safe, кишки будут реализованы с unsafe. Полное выбрасывание unsafe из языка подразумевает, что на нем нельзя будет написать такие кишки.

    > можешь при этом не использовать слово "раст"

    за живое задел что-ли? Я не имел в виду ничего плохого в контексте раста


     
  • 6.175, Аноним (-), 20:28, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > сначала определи, что такое safe, можешь при этом не использовать слово "раст"

    У хрустиков есть кейворд такой. И что характерно, системщина без него чего-то ну совсем вот не обходится. Доходит до того что эти чудо кодеры пишут unsafe, asm, ну и какой там safety дальше наверное понятно. Черт, это уже даже статический анализ не сожрет, в asm видите ли маловато формальных деклараций намерений было.
      

     
  • 4.150, Аноним (149), 16:46, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А когда запретят писать на "тупых" указателях?

    А зачем? Не надо их запрещать. Они прекрасны.

    Те кто не осилил - никто не заставляет использовать. Можешь вообще без указателей.

     
     
  • 5.177, Аноним (178), 20:34, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно с железками поработать. Особенно когда точный паттерн доступа к адресу важен, ога. Но хрустики напишут unsafe asm и поимеют офигенно безопасТный и охренеть какой читаемый код.

    А так то сие на сях делается. Если осторожно.

     

  • 1.8, Аноним (8), 11:08, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что-то Debian стал много есть оперативки. Голая установка на uefi занимает 75 Мб оперативки. А ведь ещё пару лет назад 30 было. Ядро жиреет или что?
     
     
  • 2.11, Аноним (11), 11:27, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Про systemdick не забывай.
     
  • 2.15, Аноним (8), 11:54, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чего минусов налепили? Проверьте сами в виртуалке хотя бы.
     
     
  • 3.23, Аноним (19), 12:03, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хорошая попытка, но нет.  Даже без гуя.  
     
     
  • 4.25, Аноним (6), 12:16, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Моё ядро занимает 80-100 (понятное дело без гуя вообще без всего). Но там все эти acpi с i2c и edac и всё прочее -- если их отключить, вроде даже можно что-то сэкономить, но тогда никакого контроля над железом просто не будет.
     
     
  • 5.26, Аноним (8), 12:17, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему раньше всё работало и занимало 30 Мб?
     
     
  • 6.27, Аноним (6), 12:20, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Из того что я знаю, добавили различные защиты и канареечные значения на случай атак, кроме того структуры ядра теперь рандомизируются в памяти.
     
  • 6.28, Аноним (12), 12:23, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если раньше все работало, то зачем ты что-то меняешь? Сиди себе на своем старье на пуле памяти в 30мб
     
     
  • 7.40, Аноним (8), 14:03, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я хотел узнать причины, а не слушать едкие бессмысленные колкости.
     
     
  • 8.48, Аноним (12), 14:52, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну смотри Ты не сидишь на своем старье, потому что тебя что-то не устраивало в н... текст свёрнут, показать
     
     
  • 9.57, Аноним (8), 15:21, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    При чём здесь мой выбор новой версии Я спросил лишь причину жора оперативки Ме... текст свёрнут, показать
     
     
  • 10.59, Аноним (12), 15:29, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обновления безопасности - проблема Если нет проблем, то почему тебя беспокоят о... текст свёрнут, показать
     
     
  • 11.65, Аноним (65), 15:46, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я не вижу достаточной аргументации, лишь верчение словами, а это не ответ А сче... текст свёрнут, показать
     
     
  • 12.105, Аноним (12), 23:29, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Наблюдаю по ленсуку, венде и прочим живым ОС Наращивание фич - увеличение потре... большой текст свёрнут, показать
     
     
  • 13.114, Аноним (8), 23:42, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаешь ... текст свёрнут, показать
     
     
  • 14.118, Аноним (12), 23:59, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Прекрасно знаю... текст свёрнут, показать
     
  • 10.111, Онаним (?), 23:40, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    1 x86-64 2 Ряд структур стал несколько более рыхлым с годами, но это позволяет... текст свёрнут, показать
     
  • 7.58, Аноним (8), 15:24, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Специалист по ИБ из вас так себе.
     
     
  • 8.61, Аноним (12), 15:33, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты тоже из тех, кто считает, что если в системе есть баги, то это называется вс... текст свёрнут, показать
     
     
  • 9.66, Аноним (65), 15:47, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет ... текст свёрнут, показать
     
  • 9.112, Онаним (?), 23:40, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты тоже из тех, кто считает, что бывают сколь-либо сложные системы, в которых не... текст свёрнут, показать
     
     
  • 10.117, Аноним (12), 23:58, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я из тех, кто считает, что если тебя все устраивает, то зачем что-то менять ... текст свёрнут, показать
     
     
  • 11.119, Онаним (?), 00:37, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так абсолютно правильный ответ в начале дали Нет смысла обновляться на новое... текст свёрнут, показать
     
     
  • 12.136, Аноним (135), 18:25, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну так ему и сказали - не обновляйся, но ведь он хочет безопасность , значит ег... текст свёрнут, показать
     
  • 3.176, Аноним (-), 20:29, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Чего минусов налепили? Проверьте сами в виртуалке хотя бы.

    Запустил armhf версию на 64 мегах без свопа. Нормально? Не быстро, конечно - дискового буфера мизер.

     
  • 2.38, timur.davletshin (ok), 13:52, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отключи Huge pages и будет кушать НАМНОГО меньше. Другой вопрос, что ты будешь потом жаловаться на фрагментацию оперативной памяти.
     
     
  • 3.97, Онаним (?), 23:04, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Смотря какие huge pages. Если transparent - то ведро нормально справляется с переаллокацией. Если принудительные аллокации в софте - там да, хип на полтора байта 2 метра весит.
     
     
  • 4.99, timur.davletshin (ok), 23:08, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Смотря какие huge pages. Если transparent - то ведро нормально справляется с
    > переаллокацией. Если принудительные аллокации в софте - там да, хип на
    > полтора байта 2 метра весит.

    Ну переключи madvise параметр у ядра и проверь, сколько будет жрать ОЗУ после перезагрузки. Потом сравнишь с умолчальным. Разница будет в несколько сот мегабайт.

     
     
  • 5.100, Онаним (?), 23:21, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Взял одну из тестовых систем с MariaDB и обвесом Поигрался transparent_hugepag... большой текст свёрнут, показать
     
     
  • 6.104, Онаним (?), 23:28, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя не, про распределённые вру, total был более 0.
     
  • 6.106, timur.davletshin (ok), 23:31, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Раз уж за жадный до РАМы Линукс пошла пьянка, то ещё аллокатор памяти можно на какой-нибудь jemalloc поменять через LD_PRELOAD. Со старыми версиями glibc (до 2.26 вроде) особенно было актуально. Сейчас тоже смысл есть зачастую, но надо тестировать с самым "любимым" приложением. Ситуация перестала быть очень однозначной. Плюс, ряд приложений внутренне уже используют свой аллокатор памяти (FF тот же jemalloc древней версии какой-то использует).
     
     
  • 7.108, Онаним (?), 23:35, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне показалось - именно показалось, тестов много не делал, что в последнее время разница между malloc и jemalloc почти стёрлась.
     
     
  • 8.113, timur.davletshin (ok), 23:41, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Она значительно уменьшилась, но не исчезла Cугубо на синтетических тестах вроде... текст свёрнут, показать
     
  • 5.102, Онаним (?), 23:22, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С madvise даже немножко меньше выходит, потому что ядро себя слегка пооптимальнее раскладывает.
    Но у меня с thp по другим причинам не сложилось, там на расщепление страниц очень большие накладные расходы, поэтому оно везде выключено.
     
     
  • 6.103, timur.davletshin (ok), 23:26, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    C ним и должно меньше выходить. На десктопе разница заметнее кстати.
     
     
  • 7.107, Онаним (?), 23:31, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да. Там смотрю буферы диска с thp пооптимальнее ещё разложились.
    Но всё равно, на системе с 12 крупными фоновыми демонами и ещё чистым MariaDB buffer pool никакими сотнями метров близко не пахнет.
     
  • 2.96, Онаним (?), 23:03, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Делайте скидку на x86-64, в два раза разбухают указатели.
    Плюс сам код рыхлее.
    Но и модули памяти на месте не стояли, в пристойных машинах менее 4G уже не встретить, а на серверах вообще кошмарные объёмы, у меня системный SSD меньше :D
     
     
  • 3.115, Аноним (8), 23:44, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пару лет назад у меня был всё тот же x86-64. Видимо код разрыхлили.
     
     
  • 4.116, Онаним (?), 23:52, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не совсем код.
    Взять то же ядро.
    Cтруктурки повыравнивали, чтобы в кеш удобнее ложились. RCU во все поля. Куча percpu структур новых - рост числа ядер в процах породил необходимость параллелить всё, что можно. Ну и самих структурок поболе стало. В сетевом стеке только с 4.x до 5.x вагон и тележка изменений.
     
  • 3.139, Аноним (140), 23:12, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Никаких скидок, только рассрочка.
     

     ....большая нить свёрнута, показать (39)

  • 1.9, Lex (??), 11:17, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Т.е памяти потребляться будет ещё больше ?
     
     
  • 2.14, Аноним (14), 11:48, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет, физическая память под guard-страницы не выделяется.
     
     
  • 3.132, Урри (ok), 17:22, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А указатели на эти дополнительные струкуры не в физической памяти создаются?
     

  • 1.24, Zenitur (ok), 12:09, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Самое то для старых компьютеров, на которых memtest бьёт тревогу, а QEMM постоянно показывает окно "ой, у вас тут содержимое памяти повредилось". Но при этом надо как-то выживать, потому что SIMM или DIMM SDRAM уже хрен купишь.

    Или это не то?

     
     
  • 2.33, Иван Лох (?), 13:17, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет. Это не то. То (возможномть передать ядру список битых блоков RAM) есть с первых версий linux.
     
  • 2.36, n80 (?), 13:33, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не то, это легковесный аналог address sanitizer, чисто пытается проверять выходы за границу массивов/объектов. Для твоих нужд badram давно в ядре есть, если сбоят конкретные участки. Но, вообще говоря, контакты чисть и проверь охлаждение.

    И да, где это SIMM/DIMM хрен купишь? Залежи же.

     
  • 2.85, Анончик (?), 18:43, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    полгода назад выкинул 10 планок по 64мб pc-133, до этого оно лежали на авито с полгода по 1 рубль штука.
    Они тупо не нужны были людям.
     
     
  • 3.193, Аноним (193), 00:17, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > полгода назад выкинул 10 планок по 64мб pc-133, до этого оно лежали
    > на авито с полгода по 1 рубль штука.

    Странно, они на драгмет заметно дороже идут.


     
     
  • 4.195, n80 (?), 10:08, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Странно, они на драгмет заметно дороже идут.

    Эм, даже в существенно более старых буржуйских компонентах драг.металлы отсутствуют. Точнее, если чего и присутствует, то в совсем уж следовых количествах, так что на моей памяти их никто не принимал. Неужели сейчас начали перерабатывать и такое?

     
  • 2.98, Онаним (?), 23:04, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тут скорее проблема как можно быстрее мусорное ведро найти.
     

  • 1.29, Нанобот (ok), 12:24, 28/02/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –4 +/
     
     
  • 2.41, Аноним (41), 14:06, 28/02/2021 Скрыто модератором
  • –1 +/
     

  • 1.31, Аноним (31), 12:28, 28/02/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –3 +/
     
     
  • 2.37, Аноним (37), 13:47, 28/02/2021 Скрыто модератором
  • –1 +/
     

  • 1.39, Аноним (39), 13:57, 28/02/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +1 +/
     
  • 1.42, Аноним (41), 14:10, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Почему не интегрировали готовую защиту памяти от PaX из https://grsecurity.net ?

    Потому что PaX имеет очень строгую защиту памяти, наличие которой у GNU/Linux многим не нравится!

     
     
  • 2.47, Dzen Python (ok), 14:50, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А давно ли суды были с этой самой сесурити, забившей на лицензию?
     
     
  • 3.52, Аноним (52), 15:04, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там длинная история: https://www.opennet.ru/openforum/vsluhforumID3/119728.html#31

    PaX патчи для защиты памяти отдельный проект, grsecurity его в себя интегрировал.

    Патчи распространяются под GPL-2 и их можно включать в основное ядро.

     
     
  • 4.194, Аноним (194), 00:21, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Там длинная история: https://www.opennet.ru/openforum/vsluhforumID3/119728.html#31

    При том не такая однозначная как тут лечат. Там у людей довольно специфичные подходы и приоритеты. Вплоть до того что при непонятках лучше уронить систему, на всякий... но закавывка в том что это немного непрактично для продакшна. В конце концов компьютеры ставят чтобы работать а не паниковать.

    > Патчи распространяются под GPL-2 и их можно включать в основное ядро.

    У основного ядра расстановка приоритетов несколько другая, а своенравный и некооперативный апстрим - таки тоже отдельная проблема.

     
  • 2.63, Аноним (-), 15:46, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не всем удается без смс и просмотра рекламы его скачать. Может по-этому ?
     

  • 1.69, Плохой Танцор (?), 15:59, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    По моему скромному мнению, это всё костыли, а проблема кроется в неудачной архитектуре процессора и его системы команд. Можете бить меня тапками или кидать в меня камни, но от своего скромного мнения, я не откажусь.
     
     
  • 2.71, Ordu (ok), 16:07, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > от своего скромного мнения, я не откажусь.

    Да кому ты нужен со своим скромным мнением?

     
  • 2.110, Онаним (?), 23:38, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема кроется в неудачной архитектуре человеческих мозгов, которые не заточены на 100% точные вычисления.
     
  • 2.129, InuYasha (??), 11:41, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как бы, и да, но наследие есть наследие, и пилить архитектуру с чистого листа, конечно, можно (если есть много денег и времени), но её внедрение будет весьма затруднительно. Так что, пока живём с x86 и наслоением новых макроинструкций. \(o_O)/
     
  • 2.157, Аноним (157), 22:11, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Плохому танцору вечно что-то мешает
     

  • 1.75, Аноним (75), 16:23, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Подобная функциональность уже присутствовала в ядре в виде опции сборки KASAN (kernel address sanitizer, использует Address Sanitizer в современных gcc и clang) - однако позиционировалась в основном для отладочного применения.

    Но ведь на убунте kasan из коробки идёт, и включается опцией в строке ядра.

     
     
  • 2.76, Аноним (75), 16:25, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ошибся, не  kasan, а  kaslr.
     

  • 1.77, Аноним (75), 16:28, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Судя по описанию, на рабочих системах такое не нужно, в эксплоитах это обойдут, а говнодрайверы броадкома и так постоянно крашатся при полном отсутствии свободных аналогов, хорошо что хоть к панике ядра это не приводит.
     
  • 1.87, Аноним (87), 19:43, 28/02/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +/
     
  • 1.89, Аноним (-), 21:24, 28/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Товарищи, как бы это дело бекпортировать хотяб на 4.19 ? Памагите !
     
     
  • 2.90, Аноним (-), 21:28, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И что это за сабатирование arm-a ? зачем 64, не хотим мы 64
     
     
  • 3.109, Онаним (?), 23:37, 28/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я так понимаю, "классический" arm лет через эннадцать пойдёт на выпил вместе с i?86 :)
     

  • 1.122, еман (?), 09:10, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    они лишь оттягивают неминуемое переписывание на rust.

    есть же и другие ошибки памяти, а не только обращения к не размеченным областям..

     
     
  • 2.152, Аноним (152), 17:03, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они доказывают ненужность rust
     
  • 2.156, Аноним (157), 22:09, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > неминуемое переписывание на rust
    > есть же и другие ошибки памяти

    Ну вот ты и доказал ненужность хруста.

     

  • 1.133, Урри (ok), 17:23, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Валгринд засунули в ядро.
    Зачем?
     
     
  • 2.155, Аноним (157), 22:08, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы не ждать вечность пока работает валгринд.
     

  • 1.151, Аноним (152), 17:02, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > но предусмотрена настройка "panic_on_warn"

    А нельзя просто грохать приложение?

     
     
  • 2.153, Аноним (68), 17:36, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так прикольнеее ^_^
     
  • 2.160, Ordu (ok), 02:14, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Какое приложение? Это санитайзер для ядерной кучи, для памяти используемой ядром. Если там косяк, то это косяк ядра, и юзерспейс код тут ни при чём. Более того, даже если его грохнуть, то это скорее всего не поможет, потому как косячные структуры в куче ядра продолжат существовать.
     
  • 2.191, all_glory_to_the_hypnotoad (ok), 14:54, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, panic_on_warn именно это и делает
     

  • 1.192, Аноним (192), 23:28, 04/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда система уходит в бесконечный своп и перестаёт реагировать на операции ввода, о чём в это время думает Торвальдс, какие все кругом 3.14-до-сы?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру