URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 123211
[ Назад ]

Исходное сообщение
"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования переполнения 8-битового номера версии"

Отправлено opennews , 06-Фев-21 20:54 
Грег Кроа-Хартман (Greg Kroah-Hartman) опубликовал выпуски ядра Linux 4.4.256 и 4.9.256, которые  сформированы специально для проверки корректности обработки значения цифры версии, не укладывающееся в однобайтовое значение. Изменения в опубликованных выпусках...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=54544


Содержание

Сообщения в этом обсуждении
"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 20:54 
а просто строку сразу было сделать не судьба? на бедных хомах будут тестить

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 21:03 
В макросне в Си и крестах не проверишь строку на больше-меньше.

Но вообще изначально надо было как-то более разумно использовать эту константу. Например major << 20 | minor << 10 | patch. 1024 хватило бы на патч и минор и 4096 на "будущее" линукса.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 21:26 
> major << 20

Firefox и Chrome недоумевают над вами.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Онаним , 06-Фев-21 22:46 
"Этот ваш мажор вообще минор какой-то" (с)

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено SchuHard , 06-Фев-21 22:46 
Firefox и Chrome своими версиями за 2^7 не перевалили. Здесь же предлагается 2^14 на major, и по 2^10 на minor и patch. Для 32 битного беззнакового целого.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 03:27 
> Firefox и Chrome своими версиями за 2^7 не перевалили. Здесь же предлагается
> 2^14 на major, и по 2^10 на minor и patch. Для
> 32 битного беззнакового целого.

4 миллиарда версий линукскернела не хватит всем? :) Блин, надо было uint128 делать.



"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Lex , 07-Фев-21 10:21 
Строку надо делать и не париться с длиной

Это из разряда измышлений отдельных гениев - в качестве чего же представлять вводимый номер телефона - большое число или всё-таки строка


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено iChillik , 08-Фев-21 11:36 
Где-то, кто-то, что-то похожее уже говорил..
Уже было в Симпсонах?

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 21:27 
Строку не проверишь, но число, как в версии - таки можно. У них там для этого макрос есть, внезапно. Проверяет любой compile-time кондишн на трушность и валит билд если не прокатило. С ограничением что условие вычисляемo compile-time, конечно, но версия же и задается compile time.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ыы , 07-Фев-21 09:43 
>Строку не проверишь, но число, как в версии - таки можно.

а perl такие конвертации делает автоматически...


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Александр , 09-Фев-21 01:56 
Ожидаем ядро на perl'е. Обзовём pernux

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Lex , 07-Фев-21 11:38 
> Строку не проверишь, но число, как в версии - таки можно.

Дык это косяк именно проверялки, что нунешмогла.
Даже в штуках типа жс на уровне встроенных возможностей если одно из сравниваемых значений - строка, а второе - число, то и строка приводится к числу( т.е "2" > 10 - false ), если оба значения - строки, то сравнение посимвольное( т.е "2" > "10" - true, поскольку первый символ первого значения больше первого символа второго значения )


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 12-Фев-21 03:06 
> Дык это косяк именно проверялки, что нунешмогла.

У макросов есть один офигенный плюс, непонятный вебмакакам. Макрос не генерит код. Совсем. Это замена текста и немного математики. И фокус в том что это оформляется как compile-time вычисления. А каждый раз при обращении к этому все это преобразоывать и вычислять не надо, достаточно влобовую его процу отдать.

> Даже в штуках типа жс

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

Оно не проблема в хомпаге Пупкина, а когда 500 процессов начнет дергать все и вся, параллельно, подклинить их все лишней операцией уже как-то не торт. А так у них там таки есть compile time макрос на котором отдельные байты можно прочекать. Просто там вопрос в том как изначально условились и насколько прогеры поняли что задумано именно так.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноньимъ , 07-Фев-21 03:02 
О дивный сишный мир.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ИмяХ , 07-Фев-21 11:45 
Действительно. Если бы ядро писали на джаваскрипте, то такой проблемы бы не было.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноньимъ , 07-Фев-21 22:51 
Ну и фантазии у вас.

Я уверен в си можно использовать строки парсить их приводить типы спользовать интежер вместо байта и в принципе проверять математические операции на переполнение.

Однако видимо для большинства сишников это слишком сложно. Тяп ляп байтовая константа и в продакшен.
Дивный сишный мир.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Александр , 09-Фев-21 01:57 
Ага, и всё это в compile time на макросах...

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноньимъ , 09-Фев-21 03:10 
> Ага, и всё это в compile time на макросах...

Да, это вообще шиза.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 12-Фев-21 03:08 
Эта шиза однако ж делает сишников эффективными. Там где у вас куча compile time вычислений, они отдают константу процу влобовую, константой. Вообще ничего не считая и не преобразуя.

И так единственные кто об этом хоть отдаленно догадывается кроме сишников - растовики. Но они с макросами завернули что-то совсем уж наркоманское.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноньимъ , 12-Фев-21 10:20 
>Эта шиза однако ж делает сишников эффективными. Там где у вас куча compile time вычислений, они отдают константу процу влобовую, константой. Вообще ничего не считая и не преобразуя.

Они и остальной код так пишут.
Эффективные как "эффективные менеджеры".


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 12-Фев-21 03:01 
>  Тяп ляп байтовая константа и в продакшен.

Байтовую константу как-то в цать раз быстрее в рантайме парсить нежели строки. А тяп-ляп в продакш как раз яваскриптеры умеют, с их невменяемыми форматами данных. Которые типа-читаемы, особенно как тот wtf.min.js, где можно поспорить на тему отладки этого или вон того крахдампа, в последнем по крайней мере названия функций читаются, если у меня .dbg версия есть.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноньимъ , 12-Фев-21 10:27 
Парсить байтовую константу?

Понятно что забить на любые проверки и просто *доверять* входным данным легко быстро и просто.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Неа , 07-Фев-21 01:25 
Богомерзкий яваскриптист детектед.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 02:15 
> Богомерзкий яваскриптист детектед.

Напишет такой кернел - и будет чесать репу, почему он только 20% от линуха по скорости выжимает. Так то вебмакачить можно даже на асме.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Какаянахренразница , 08-Фев-21 16:30 
Джаваскрипачу, который выжмет 20% от производительности нативного кода, надо ставить памятник.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Александр , 09-Фев-21 01:58 
asm.js какой-нибудь?

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Какаянахренразница , 09-Фев-21 13:01 
> asm.js какой-нибудь?

Да, Фабрис Беллар безусловно заслужил памятник.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Анонит , 12-Фев-21 02:59 
Так он так на сях и асме. Сделает версию строкой и удивится что даже это тормозит. То ли еще будет когда он работу с временем кодить пойдет. Да, таки зырить на часы не всегда быстро даже у нормальных, а у таких...

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено anonymous , 06-Фев-21 20:55 
Надо быть модными
Что бы версси были как у хрома
Жду ядро 519

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 20:57 
жди, а вот меня лично бесит такая версионность, ибо не люблю слово смузи

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 21:27 
less 487 (GNU regular expressions)
Copyright (C) 1984-2016  Mark Nudelman

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 22:18 
Какой-то старевший у вас лесс:

$ less --version
less 563 (PCRE regular expressions)
Copyright (C) 1984-2020  Mark Nudelman


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено КО , 07-Фев-21 05:19 
Он просто ленивый, 0.563 версия

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 22:42 
Давно это server стал синонимом смузи?

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 22:42 
*semver

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Michael Shigorin , 07-Фев-21 13:20 
А где на http://semver.org можно почитать, что 519 -- это тоже semver?

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 18:52 
Chromiun меняет major релиз из-за изменений в API/ABI движков v8 и/или blink. Но ведь в комментарии проще язвить, чем попытаться вникнуть в разработку такого гигантского проекта, как Chromiun.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Олег , 07-Фев-21 23:03 
> Chromiun меняет major релиз из-за изменений в API/ABI движков v8 и/или blink.

Дальше что? Это всего лишь его компоненты. Они могут менять в этом случае мажор и должны. Т.к. для их пользователя ситуация меняется кардинально. А браузер менять с хера должен? Что такого с для его пользователя изменилось кардинально?


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 10:04 
Версия браузера всегда синхронизована с версией V8. Зачем вообще пользователю смотреть на номер версии, это инфа нужна только для разработчиков сайтов.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено анонн , 07-Фев-21 00:45 
> Надо быть модными
> Что бы версси были как у хрома
> Жду ядро 519

grep _version /usr/include/sys/param.h
#define __FreeBSD_version 1202505    /* Master, propagated to newvers */



"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено бедный буратино , 09-Фев-21 01:43 
не знаю, как у хрома, а у хромиума версии вот такие:

88.0.4324.146

лучше бы он был просто 519


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Александр , 09-Фев-21 02:28 
У TeX моднее: цифры числа пи

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 21:11 
Надо было 256.256.256 сразу выпускать.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 23:38 
Зачем? Ты не доживёшь.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 02:22 
> Зачем? Ты не доживёшь.

Да так то у меня летающий Делореан есть...


$ uname -a
Linux Linux 256.256.256 Linux Linux GNU/Linux

...вроде живет по минимуму, но весь софт я не проверял, пардон :)

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 02:32 
Верни мне мой альманах!

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено kusb , 07-Фев-21 09:53 
AppleLinux/525.13 (like Linuxware/44 like MicroTux/199 like linux 255.255.255.254) Systemd/0.2.149.27 System-unity-environment/137 Chrome-msedge/100k)

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 12-Фев-21 03:15 
> like linux 255.255.255.254

Т.е. 256 оно все же не потянуло? :)


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 06-Фев-21 23:14 
Надо переходить на безверсионный роллинг без удаления старого кода

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 01:28 
> без удаления старого кода

расскажи это потерингам.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Ordu , 07-Фев-21 03:23 
8 бит на номер версии будет достаточно всем.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ыы , 07-Фев-21 09:45 
>8 бит на номер версии

Оптимизация на уровне кретинизма...


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Ordu , 07-Фев-21 11:27 
>>8 бит на номер версии
> Оптимизация на уровне кретинизма...

Угу. ыы не кретин, и таких ошибок проектирования никогда не совершал в своей жизни.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Lex , 07-Фев-21 11:44 
5 байт для номера телефона хватит всем с огромным запасом ящетаю( 9 999 999 99 99 = 0x 17 48 76 E7 FF )
Оптимизация - великий мастер уровня линуксового ядрописателя

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ыы , 07-Фев-21 12:43 
Вот и появилось поколение для которых быть не кретином- нечто недостижимое :)

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Ordu , 07-Фев-21 13:20 
> Вот и появилось поколение для которых быть не кретином- нечто недостижимое :)

Да, я вижу. Как так случилось, что всё оно собралось на опеннете, мне не ясно.


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ыы , 07-Фев-21 09:59 
> константа LINUX_VERSION_CODE ... замена типа приведёт к нарушению ABI.

Прям #СпасемАБИ ...


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 07-Фев-21 10:15 
Гениальное решение. Сделать заведомо переполнение и потом искать по всем прикладным программам мира и искать в них что же сломалось. Причём могло сломаться что угодно и где угодно.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ыы , 07-Фев-21 10:31 
Причем тестирование пройдет не у всех - не все станут исступленно ставить себе эти ядра и гонять на них все....во всех режимах...


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено PnD , 08-Фев-21 09:39 
А чего там тестировать? Примерно любой драйвер "железа" от вендора с такой ∞́нёй не соберётся. Недавно проверял на примере ixgbe от Intel.
Там в старом кастомном ядре случилось #define UTS_UBUNTU_RELEASE_ABI много_цифер.
"""
/root/ixgbe-5.9.4/src/kcompat.h:817:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large...
#error UTS_UBUNTU_RELEASE_ABI is too large...
"""

Потому что
"""
#if UTS_UBUNTU_RELEASE_ABI > 255
#error UTS_UBUNTU_RELEASE_ABI is too large...
#endif /* UTS_UBUNTU_RELEASE_ABI > 255 */
"""

…И я тут с Интелом согласен. "Написано в доке что там байт (который 8 бит) — так и будем с ним работать. И даже проверим."


"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Michael Shigorin , 08-Фев-21 13:04 
А я вот не понял -- Грегу обязательно было буянить в LTS, а не на какой-нить короткоживущей ветке?

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Онаним , 08-Фев-21 13:52 
У короткоживущих веток такой проблемы нет.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 21:49 
Причем мог бы и локально, на QEMU потренироваться то. Как маленький он, ей богу. Вот работает - не трогай.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено ИмяХ , 08-Фев-21 13:54 
Вот бы всех умников посадить в машину времени и отправить в 80-е, вот там бы они поняли, что такое ограничение архитектуры и что такое, когда мало памяти. Там бы они научились каждый бит экономить.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 15:18 
Ха-ха. То есть LTS заканчивается на 256 ! Не надо так частить. Вы не в церкви - вас не обманут.
Может сделают как в pfSense - p1, p2.
А что будет если Верховный Пингвин узнает, да как разозлится. Ой жесть, им цифирек было жалко, оптимизаторы. Прям как у нас в стране России - наоптимизируют всё вокруг, аж п#$дец трясется.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 19:54 
64-битное ядро с 32-битными целыми с 16-битными портами tcp/udp с 8-битным номером версии, я ничего не перепутал?)

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 21:47 
Адреса IPv4 тоже 32 бита занимают.
Звук как правило 16 бит, но есть и 24 бита.
Вывод на моник 24 бита, LCD больше не тянет. А ЭЛТ мониторы сейчас уже и не найти.

"Опубликованы ядра Linux 4.4.256 и 4.9.256 для тестирования п..."
Отправлено Аноним , 08-Фев-21 21:53 
Таки ви мне не поверите, я всекда так и считал. Первые четире битика - мантиса чельночисленная, вторая таки часть из четырех битиков - степень. И ми имеем в итоге кошерных 1,844674407×10¹⁹ вариантов.
Линус с тебя 16^16 шакелей.