The OpenNET Project / Index page

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



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

"Опубликованы ядра 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

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

Оглавление

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

1. Сообщение от Аноним (1), 06-Фев-21, 20:54   –2 +/
а просто строку сразу было сделать не судьба? на бедных хомах будут тестить
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #19

2. Сообщение от anonymous (??), 06-Фев-21, 20:55   +5 +/
Надо быть модными
Что бы версси были как у хрома
Жду ядро 519
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #18, #61, #65

3. Сообщение от Аноним (1), 06-Фев-21, 20:57   –2 +/
жди, а вот меня лично бесит такая версионность, ибо не люблю слово смузи
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #10, #12

6. Сообщение от Аноним (6), 06-Фев-21, 21:03   –1 +/
В макросне в Си и крестах не проверишь строку на больше-меньше.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #8, #9, #25

7. Сообщение от Аноним (-), 06-Фев-21, 21:11   +3 +/
Надо было 256.256.256 сразу выпускать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

8. Сообщение от Аноним (8), 06-Фев-21, 21:26   +8 +/
> major << 20

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #14, #15

9. Сообщение от Аноним (-), 06-Фев-21, 21:27   –2 +/
Строку не проверишь, но число, как в версии - таки можно. У них там для этого макрос есть, внезапно. Проверяет любой compile-time кондишн на трушность и валит билд если не прокатило. С ограничением что условие вычисляемo compile-time, конечно, но версия же и задается compile time.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #29, #37

10. Сообщение от Аноним (8), 06-Фев-21, 21:27   +8 +/
less 487 (GNU regular expressions)
Copyright (C) 1984-2016  Mark Nudelman
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #11

11. Сообщение от Аноним (11), 06-Фев-21, 22:18   +6 +/
Какой-то старевший у вас лесс:

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #28

12. Сообщение от Аноним (12), 06-Фев-21, 22:42   +/
Давно это server стал синонимом смузи?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #13

13. Сообщение от Аноним (12), 06-Фев-21, 22:42   +/
*semver
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #43

14. Сообщение от Онаним (?), 06-Фев-21, 22:46   +5 +/
"Этот ваш мажор вообще минор какой-то" (с)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

15. Сообщение от SchuHard (ok), 06-Фев-21, 22:46   +2 +/
Firefox и Chrome своими версиями за 2^7 не перевалили. Здесь же предлагается 2^14 на major, и по 2^10 на minor и patch. Для 32 битного беззнакового целого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #27

16. Сообщение от Аноним (16), 06-Фев-21, 23:14   +/
Надо переходить на безверсионный роллинг без удаления старого кода
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

17. Сообщение от Аноним (17), 06-Фев-21, 23:38   –1 +/
Зачем? Ты не доживёшь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #23

18. Сообщение от анонн (ok), 07-Фев-21, 00:45   +1 +/
> Надо быть модными
> Что бы версси были как у хрома
> Жду ядро 519

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


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

19. Сообщение от Неа (?), 07-Фев-21, 01:25   +2 +/
Богомерзкий яваскриптист детектед.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #21

20. Сообщение от Аноним (20), 07-Фев-21, 01:28   +2 +/
> без удаления старого кода

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

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

21. Сообщение от Аноним (-), 07-Фев-21, 02:15   +2 +/
> Богомерзкий яваскриптист детектед.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #56

23. Сообщение от Аноним (-), 07-Фев-21, 02:22   +1 +/
> Зачем? Ты не доживёшь.

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


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

...вроде живет по минимуму, но весь софт я не проверял, пардон :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #24, #31

24. Сообщение от Аноним (24), 07-Фев-21, 02:32   +2 +/
Верни мне мой альманах!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

25. Сообщение от Аноньимъ (ok), 07-Фев-21, 03:02   +4 +/
О дивный сишный мир.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #39

26. Сообщение от Ordu (ok), 07-Фев-21, 03:23   +4 +/
8 бит на номер версии будет достаточно всем.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30

27. Сообщение от Аноним (27), 07-Фев-21, 03:27   +6 +/
> Firefox и Chrome своими версиями за 2^7 не перевалили. Здесь же предлагается
> 2^14 на major, и по 2^10 на minor и patch. Для
> 32 битного беззнакового целого.

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #34, #50

28. Сообщение от КО (?), 07-Фев-21, 05:19   +1 +/
Он просто ленивый, 0.563 версия
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

29. Сообщение от ыы (?), 07-Фев-21, 09:43   +/
>Строку не проверишь, но число, как в версии - таки можно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #62

30. Сообщение от ыы (?), 07-Фев-21, 09:45   +/
>8 бит на номер версии

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #36

31. Сообщение от kusb (?), 07-Фев-21, 09:53   +1 +/
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)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #72

32. Сообщение от ыы (?), 07-Фев-21, 09:59   –1 +/
> константа LINUX_VERSION_CODE ... замена типа приведёт к нарушению ABI.

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

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

33. Сообщение от Аноним (33), 07-Фев-21, 10:15   +/
Гениальное решение. Сделать заведомо переполнение и потом искать по всем прикладным программам мира и искать в них что же сломалось. Причём могло сломаться что угодно и где угодно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

34. Сообщение от Lex (??), 07-Фев-21, 10:21   –1 +/
Строку надо делать и не париться с длиной

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

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

35. Сообщение от ыы (?), 07-Фев-21, 10:31   +/
Причем тестирование пройдет не у всех - не все станут исступленно ставить себе эти ядра и гонять на них все....во всех режимах...

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

36. Сообщение от Ordu (ok), 07-Фев-21, 11:27   +/
>>8 бит на номер версии
> Оптимизация на уровне кретинизма...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #38, #41

37. Сообщение от Lex (??), 07-Фев-21, 11:38   +/
> Строку не проверишь, но число, как в версии - таки можно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #70

38. Сообщение от Lex (??), 07-Фев-21, 11:44   +/
5 байт для номера телефона хватит всем с огромным запасом ящетаю( 9 999 999 99 99 = 0x 17 48 76 E7 FF )
Оптимизация - великий мастер уровня линуксового ядрописателя
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

39. Сообщение от ИмяХ (?), 07-Фев-21, 11:45   +4 +/
Действительно. Если бы ядро писали на джаваскрипте, то такой проблемы бы не было.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #46

41. Сообщение от ыы (?), 07-Фев-21, 12:43   +/
Вот и появилось поколение для которых быть не кретином- нечто недостижимое :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #44

43. Сообщение от Michael Shigorinemail (ok), 07-Фев-21, 13:20   –1 +/
А где на http://semver.org можно почитать, что 519 -- это тоже semver?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #45

44. Сообщение от Ordu (ok), 07-Фев-21, 13:20   +2 +/
> Вот и появилось поколение для которых быть не кретином- нечто недостижимое :)

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

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

45. Сообщение от Аноним (12), 07-Фев-21, 18:52   –1 +/
Chromiun меняет major релиз из-за изменений в API/ABI движков v8 и/или blink. Но ведь в комментарии проще язвить, чем попытаться вникнуть в разработку такого гигантского проекта, как Chromiun.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #47

46. Сообщение от Аноньимъ (ok), 07-Фев-21, 22:51   –1 +/
Ну и фантазии у вас.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #63, #69

47. Сообщение от Олег (??), 07-Фев-21, 23:03   +1 +/
> Chromiun меняет major релиз из-за изменений в API/ABI движков v8 и/или blink.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #49

48. Сообщение от 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 бит) — так и будем с ним работать. И даже проверим."

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

49. Сообщение от Аноним (12), 08-Фев-21, 10:04   +/
Версия браузера всегда синхронизована с версией V8. Зачем вообще пользователю смотреть на номер версии, это инфа нужна только для разработчиков сайтов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

50. Сообщение от iChillikemail (?), 08-Фев-21, 11:36   +/
Где-то, кто-то, что-то похожее уже говорил..
Уже было в Симпсонах?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

52. Сообщение от Michael Shigorinemail (ok), 08-Фев-21, 13:04   +1 +/
А я вот не понял -- Грегу обязательно было буянить в LTS, а не на какой-нить короткоживущей ветке?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #53, #59

53. Сообщение от Онаним (?), 08-Фев-21, 13:52   +/
У короткоживущих веток такой проблемы нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

54. Сообщение от ИмяХ (?), 08-Фев-21, 13:54   +/
Вот бы всех умников посадить в машину времени и отправить в 80-е, вот там бы они поняли, что такое ограничение архитектуры и что такое, когда мало памяти. Там бы они научились каждый бит экономить.
Ответить | Правка | Наверх | Cообщить модератору

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

56. Сообщение от Какаянахренразница (ok), 08-Фев-21, 16:30   +2 +/
Джаваскрипачу, который выжмет 20% от производительности нативного кода, надо ставить памятник.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #64, #68

57. Сообщение от Аноним (57), 08-Фев-21, 19:54   +1 +/
64-битное ядро с 32-битными целыми с 16-битными портами tcp/udp с 8-битным номером версии, я ничего не перепутал?)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #58

58. Сообщение от Аноним (59), 08-Фев-21, 21:47   +1 +/
Адреса IPv4 тоже 32 бита занимают.
Звук как правило 16 бит, но есть и 24 бита.
Вывод на моник 24 бита, LCD больше не тянет. А ЭЛТ мониторы сейчас уже и не найти.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

59. Сообщение от Аноним (59), 08-Фев-21, 21:49   +/
Причем мог бы и локально, на QEMU потренироваться то. Как маленький он, ей богу. Вот работает - не трогай.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

60. Сообщение от Аноним (59), 08-Фев-21, 21:53   +1 +/
Таки ви мне не поверите, я всекда так и считал. Первые четире битика - мантиса чельночисленная, вторая таки часть из четырех битиков - степень. И ми имеем в итоге кошерных 1,844674407×10¹⁹ вариантов.
Линус с тебя 16^16 шакелей.
Ответить | Правка | Наверх | Cообщить модератору

61. Сообщение от бедный буратино (ok), 09-Фев-21, 01:43   +/
не знаю, как у хрома, а у хромиума версии вот такие:

88.0.4324.146

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

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

62. Сообщение от Александр (??), 09-Фев-21, 01:56   +/
Ожидаем ядро на perl'е. Обзовём pernux
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

63. Сообщение от Александр (??), 09-Фев-21, 01:57   +/
Ага, и всё это в compile time на макросах...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #66

64. Сообщение от Александр (??), 09-Фев-21, 01:58   +1 +/
asm.js какой-нибудь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #67

65. Сообщение от Александр (??), 09-Фев-21, 02:28   +/
У TeX моднее: цифры числа пи
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

66. Сообщение от Аноньимъ (ok), 09-Фев-21, 03:10   +/
> Ага, и всё это в compile time на макросах...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #71

67. Сообщение от Какаянахренразница (ok), 09-Фев-21, 13:01   +1 +/
> asm.js какой-нибудь?

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

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

68. Сообщение от Анонит (?), 12-Фев-21, 02:59   –1 +/
Так он так на сях и асме. Сделает версию строкой и удивится что даже это тормозит. То ли еще будет когда он работу с временем кодить пойдет. Да, таки зырить на часы не всегда быстро даже у нормальных, а у таких...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

69. Сообщение от Аноним (-), 12-Фев-21, 03:01   +/
>  Тяп ляп байтовая константа и в продакшен.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #74

70. Сообщение от Аноним (-), 12-Фев-21, 03:06   +/
> Дык это косяк именно проверялки, что нунешмогла.

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #73

72. Сообщение от Аноним (-), 12-Фев-21, 03:15   +/
> like linux 255.255.255.254

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

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

73. Сообщение от Аноньимъ (ok), 12-Фев-21, 10:20   +/
>Эта шиза однако ж делает сишников эффективными. Там где у вас куча compile time вычислений, они отдают константу процу влобовую, константой. Вообще ничего не считая и не преобразуя.

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

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

74. Сообщение от Аноньимъ (ok), 12-Фев-21, 10:27   +/
Парсить байтовую константу?

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

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


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

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




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

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