The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Локальная уязвимость в сетевой подсистеме ядра Linux, opennews (??), 22-Сен-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


93. "Локальная уязвимость в сетевой подсистеме ядра Linux"  +/
Сообщение от Совершенно другой аноним (?), 22-Сен-23, 15:58 
UB это наследие тех времён, когда на некторых архитектурах байты были 9 бит, а слова - 36. И каждый из производителей железа тащил в свою сторону. Это сейчас, по большому счёту осталось только 2 платформы - x86_64 и ARM. У которых и индейцы совпадают, и float IEEE-шный, но так было не всегда..

Если Вам надо гарантировано обрабатывать переполнение, в случае gcc добавьте -fwrapv. Кроме того, можно воспользоваться __builtin_sadd_overflow()/__builtin_ssub_overflow(). В стандарте С23 эту функциональность стандартизируют в форме ckd_add()/ckd_sub().

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

107. "Локальная уязвимость в сетевой подсистеме ядра Linux"  +1 +/
Сообщение от Аноньимъ (ok), 22-Сен-23, 17:49 
> В стандарте С23 эту функциональность стандартизируют в форме ckd_add()/ckd_sub().

Ура! Не прошло и 30 лет.

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

109. "Локальная уязвимость в сетевой подсистеме ядра Linux"  +/
Сообщение от Анониммм (?), 22-Сен-23, 18:17 
спасибо, спасибо очень помогло

вот только ядро до сих пор на древнем С11 (и перешли они туда в 22м году!)
причем не на стандартном ISO С, а на богомерзких гнутых расширениях gnu11

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

131. "Локальная уязвимость в сетевой подсистеме ядра Linux"  +/
Сообщение от Совершенно другой аноним (?), 23-Сен-23, 14:41 
> вот только ядро до сих пор на древнем С11 (и перешли они туда в 22м году!)

ну, как-бы, после C11 был C17, в котором ничего нового не добавили, а просто поправили накопившиеся замечания. А в C11, по сравнению с C99, имхо, более-менее полезными были alignas/alignof и анонимные структуры и объединения (которые существовали в виде расширений уже довольно давноЮ по-моему ещё в древнем bcc 3.1 уже были)ю

> причем не на стандартном ISO С, а на богомерзких гнутых расширениях gnu11

ну, как-бы builtin-ы, насколько я помню не зависят от версии языка, а -fwrapv существует уже очень давно, как минимум точно есть в gcc 4.8+.

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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