The OpenNET Project / Index page

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



"В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "В ядро Linux 5.12 принята подсистема KFence для выявления ош..." +/
Сообщение от Аноним (-), 04-Мрт-21, 01:15 
>> Понимаешь, алгебраические типы данных и отсутствие null - это не только модные
>> слова акедемических смузихлебов последних 30 лет, но и возможность для компилятора
>> сильно ограничить некорректные состояния вычислений и выкинуть на*рен все лишние проверки,
>> заэнфорсив только одну - при проверке входящих данных.
> Как ни странно, GCC в этом довольно неплохо преуспевает. А прикинь, он
> сам умеет в range check и если видит что я никогда
> не вызываю вон ту функцию с вон теми параметраим - выкидывает
> к хренам и проверки, и имплементацию этого случая.

А прикинь - как ни странно, для этого используются наработки "смузихлебов" по оптимизации, можешь глянуть на md или pd файлы или как выглядит RTL (хинт:

(set (reg:SI 140)
     (plus:SI (reg:SI 138)
              (reg:SI 139)))

да и gcc-extensions типа pure - как раз про это.

> Внезапно, в кернелмоде, с модулями и всем таким, это может сыграть дурную
> шутку: компилер внезапно не видит всех возможных сценариев. Как будет юзать
> вон тот код вот это и это - ок, а что
> насчет юзерского loadable module? Его видите ли совсем не было compile time :)

Вы не поверите, но эти проблемы - как раз из-за слабой (unsound) системы типов си.
Потому что вон тот вон указатель - может указывать на хрень любой длины (разработчику просто не предоставляется достаточный инструментарий для уточнения), а может быть и NULL.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В ядро Linux 5.12 принята подсистема KFence для выявления ошибок при работе с памятью, opennews, 28-Фев-21, 10:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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