LINUX.ORG.RU

Намеренное целочисленное переполнение в версиях двух LTS ядер ради тестирования

 ,


2

2

Несколько часов назад Greg Kroah-Hartman выпустил две новые версии LTS ядер серии 4.9.y и 4.4.y в которых y == 256, что должно привести к целочисленному переполнению и к тому, что KERNEL_VERSION(4, 9, 256) == KERNEL_VERSION(4, 10, 0). Никаких других изменений в этих ядрах нет. Сделано это ради тестирования такой нумерации и в частности LINUX_VERSION_CODE в user space (используется такими компоненитами системы, как glibc и gcc) на множестве дистрибутивов. Greg просит пересобрать всю систему вместе с этими версиями ядер и сообщить ему, если что-то перестанет работать или компилироваться. Данное тестирование расчитано, как минимум, на неделю, после которой появятся следующие версии ядер 4.9.y и 4.4.y с настоящими изменениями.

Первоисточник для Ъ:

I'm announcing the release of the 4.9.256 kernel.

This, and the 4.4.256 release are a little bit "different" than normal.

This contains only 1 patch, just the version bump from .255 to .256 which ends
up causing the userspace-visable LINUX_VERSION_CODE to behave a bit differently
than normal due to the "overflow".

With this release, KERNEL_VERSION(4, 9, 256) is the same as KERNEL_VERSION(4, 10, 0).

Nothing in the kernel build itself breaks with this change, but given that this
is a userspace visible change, and some crazy tools (like glibc and gcc) have
logic that checks the kernel version for different reasons, I wanted to do this
release as an "empty" release to ensure that everything still works properly.

So, this is a YOU MUST UPGRADE requirement of a release.  If you rely on the
4.9.y kernel, please throw this release into your test builds and rebuild the
world and let us know if anything breaks, or if all is well.

Go forth and do full system rebuilds!  Yocto and Gentoo are great for this, as
will systems that use buildroot.

I'll try to hold off on doing a "real" 4.9.y release for a 9eek to give
everyone a chance to test this out and get back to me.  The pending patches in
the 4.9.y queue are pretty serious, so I am loath to wait longer than that,
consider yourself warned...

The updated 4.9.y git tree can be found at:
	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.9.y
and can be browsed at the normal kernel.org git web browser:
	https://git.kernel.org/?p=linux/kernel/git/stable/linux-s...

thanks,

greg k-h

>>> Подробности



Проверено: Shaman007 ()

А платить за тестинг кто будет?

Что за тупая практика тестировать на юзерах? На зарплату разработчикам хватает, а на зарплату тестерам не?

mord0d ★★★★ ()
Ответ на: комментарий от mord0d

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

hummer ()
Ответ на: комментарий от mord0d

Так у дистростроителей есть свои тестеры. И потом, у них там могут быть свои патчи в «crazy tools (like glibc and gcc)». Ни один дистрибутив не обходится без своих патчей этих crazy tools, даже LFS. Вообще удивительно, что Линус до сих пор не сменил основной компилятор ядра на clang.

hummer ()
Ответ на: комментарий от hummer

основной компилятор ядра на clang

LLVM только недавно смог собрать ядро Linux. В GNU всегда считали всё non-GPL — несвободным. ☺

свои патчи в «crazy tools

Это имеет смысл.

mord0d ★★★★ ()
Ответ на: комментарий от mord0d

LLVM только недавно смог собрать ядро Linux.

Это «смог» было двусторонним. Классический UNIX собирали довольно примитивными версиями компилятора и оно работало без всех этих нестандартных расширений. То есть вопрос лишь в волевом решении разработчиков, в первую очеред Линуса.

В GNU всегда считали всё non-GPL — несвободным. ☺

В GNU и GPL2 считают недостаточно свободной и сильно обиделись, когда Линус решил не переходить на GPL3. А что толку от этого GPL, когда GCC постепенно отстаёт от clang и держится лишь на исторических причинах и каких-то совершенно нестандартных расширениях? Помниш как, в своё время, линуксоиды ругали Microsoft за нестандартные расширения HTML и прочих форматов? Вот теперь так же и в GNU/Linux.

hummer ()
Ответ на: комментарий от anonymous

Я считаю, что частное лицо должно принципиально не платить за Linux на обычном компьютере. Практически всё, что предлагается для частных лиц, то есть обычным пользователям - это либо платформа для тестирования будущего проприетарного (Fedora), либо для сбора персональных данных (Android), либо всякого рода бесполезные Арчи и Болгеносы. По-настоящему Linux разрабатывается силами корпораций для прочих корпоративных клиентов и которые по три байта клали на десктопного пользователя. Хотят использовать нас в качестве бесплатных тестеров (речь не о данной новости, а вообще)? Пусть так же бесплатно делают нормальный десктоп. Ну а за Linux в Android и во всякого рода встроенных устройствах я уже заплатил и не раз.

hummer ()

не понимаю что тут обсуждать?! халивара ради?!

если «фича» заявлена как «тестовая», какие еще могут быть разночтения, недовольства и вообще... что тут обсуждать?!

с добрым утром, страна!!! :о)

sunjob ★★ ()
Последнее исправление: sunjob (всего исправлений: 1)

Re: не понимаю что тут обсуждать?! халивара ради?!

А если сообщество положит болт на тестировку? Нам следующим релизом втулят не тестируемые ядра? Как это работает вообще?

anonymous ()
Ответ на: комментарий от hummer

Вообще удивительно, что Линус до сих пор не сменил основной компилятор ядра на clang.

Что пользователи и разработчики ядра от этого выиграют?

AnDoR ★★★★★ ()
Ответ на: комментарий от AnDoR

Что пользователи и разработчики ядра от этого выиграют?

Более продвинутые возможности компилятора. Тот же LSB, например.

hummer ()
Ответ на: комментарий от hummer

Более продвинутые возможности компилятора

gcc гораздо более продвинутее clang’а.

clang самый отсталый C++ компилятор.

fsb4000 ★★★★ ()
Ответ на: комментарий от hummer

GCC постепенно отстаёт от clang

Где отстает? GCC как обычно впереди.

MOPKOBKA ()
Ответ на: комментарий от intelfx

gcc 11 единственный компилятор который поддерживает все C++20 core language features.

В clang 12 их поддерживается меньше чем в gcc 11, Visual Studio 2019 или EDG 6.2 => самый отсталый компилятор.

Что не верно?

Всякие Oracle C++ не рассматриваются, так как умерли. Хотя они и хуже чем clang…

https://en.cppreference.com/w/cpp/compiler_support

fsb4000 ★★★★ ()

Ух ты, а я думал это строковая переменная и обрабатывается она только людьми.

kirill_rrr ★★★★★ ()
Ответ на: комментарий от fsb4000

Что не верно?

Что отсталость/продвинутость компилятора измеряется не только поддержкой стандартов.

(Хотя это конечно тоже важно, и достаточно странно, что шланг так запаздывает с C++20.)

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от mord0d

А платить за тестинг кто будет?

Ты.

Что за тупая практика тестировать на юзерах?

Нормальная практика.

На зарплату разработчикам хватает, а на зарплату тестерам не?

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

Legioner ★★★★★ ()
Ответ на: комментарий от hummer

Кланг не умеет во все поддерживаемые линуксом архитектуры процов. Ядерный бинарь от гцц лучше и стабильнее. Собрать клангом можно, но чаще просто ненужно.

anonymous ()
Ответ на: комментарий от Harald

какие ещё тестеры, какая зарплата, в 21 веке это не модно

Коммунизм подкрался незаметно.

no-such-file ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

поддержкой различных микроархитректур

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

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Дело не в актуальности, линукс юзает боинг и башляет немало бабла. Используют они проверенные временем процы которые после взрыва ЭМИ продолжат работать, а все современные сдохнут даже если рядом эл.магнитный импульс от грозы будет.

Современные процы убоги в части надёжности их только тупые на голову будут применять в промышленности. Ну так вот, самолёты должны летать, софт на ниж должен собираться, кланг этого не обеспечивает. Точка.

Так что засунь свои хипстерские замашки в попу. Не всё что новое хороше по всем фронтам. А если бы ты знал как устроены и работают процессоры то молчал бы вообще так как фундаментально что там алу, что тут алу как были так и остались, меняются только спец блоки и шины между ними. А уж то что разноядерные процессоры разных линеек это просто одно и тоже, но разной степени брака уж вообще умалчиваю.

Последние процы от интел 40% начинки лицензировали у амд знаешь от какой модели? Первый атлон, тот что классик, а не 64 не путай. После чего эту музейность для спецблоков адаптировали.

anonymous ()
Ответ на: комментарий от intelfx

Ты пишешь это с системы на 99% собраной гцц. Установи кланг и собери любой пакет из твоей системы и сравни. Делов на 10 минут.

anonymous ()
Ответ на: комментарий от anonymous

кланг это си компилятор на базе LLVM зачем компилятру си уметь компилировать руст? Но руст это нашлёпка над llvm. Ты чёт вообще не алё

anonymous ()
Ответ на: комментарий от intelfx

гцц-фанбоев

Чья бы корова мычала. Иди клангом системд собери и успакойся.

anonymous ()
Ответ на: комментарий от anonymous

Таблеточек попей, что ты несёшь? При чём тут процы, интел, амд и спецблоки? Ты набор команд с микроархитектурой не путаешь? Ну то есть путаешь, разумеется, иди почитай и не позорься.

intelfx ★★★★★ ()
Ответ на: комментарий от anonymous

Ты пишешь это с системы на 99% собраной гцц

Да, так исторически сложилось, и что?

Установи кланг и собери любой пакет из твоей системы и сравни

Знаешь, что такое «burden of proof»?

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

24 архитектуры в официальной поставке, все они используются от домашних пк до индустриальных машин. Ради просто другого компилятора взять и дропнуть всё?

anonymous ()
Ответ на: комментарий от anonymous

Нет, он конечно фанбой ещё тот, но не тупой и пользуется тем что лучше всего работает. Гццём собирают не потому что политика партии или религия, а потому что широкая поддержка аритектур, стабильная работа, нет гемороя, надёжно. Вот когда кланг будет всё это уметь, то будет просто опционально или гцц или кланг (может к тому времени ещё что-то) никто за гцц не нержится, его юзают просто потому что он годный. Но спасибо клангу за то что он есть, одно время гцц стагнировал, а когда кланг считай его догнал и перегонять начал, вот тогда то коллекция компиляторов зашевелилась и гцц считай переписали на плюсы и дальше забустили выше крыши.

anonymous ()
Ответ на: комментарий от anonymous

Шлангом собирают браузеры. Одна из главных программ в системе.

anonymous ()
Ответ на: комментарий от spigel

тестеры вообще не нужны

Ну и зарплаты разработчикам тоже не нужны. Свободное ПО!

mord0d ★★★★ ()
Ответ на: комментарий от Legioner

А платить за тестинг кто будет?

Ты.

А мне кто платить будет?

Нормальная практика.

Ну вот и жрите сами. ☺

Тестировать каждая обезьяна может.

Если софт пишут обезьяны, то и тестировать его смогут обезьяны.

А код пишет только интеллектуальная элита человечества.

Лол, ну-ну.

mord0d ★★★★ ()
Ответ на: комментарий от anonymous

он за винду заплатил и теперь ее тестирует

anonymous ()
Ответ на: комментарий от intelfx

Братец-кролик, ты уже на три критерия (новые языковые фичи, множество архитектур, качество кодогенерации) лаконично отнекнулся.

Добавь чуть конструктива - напиши, по чему Clang наоборот, превосходит GCC, иначе это слишком уныло (*) читать

(*) Обычно читаю тебя с интересом

Crocodoom ★★★★ ()

Передайте что собралось нормально

anonymous ()
Ответ на: комментарий от fsb4000

По поводу С++ я с тобой согласен, но в контексте темы это иррелевант: ядро С++ не использует. Как С компилируется, и оптимизируется бакэндом мне абсолютно не интересно.

Насчёт «у кого лучше кодген» - это в compiler explorer, кому действительно надо.

Есть ещё такие фичи у шланга, как thin lto, но не смотрел, да и gcc свой lto со времён четвертой версии сильно улучшил.

anonymous ()
Ответ на: комментарий от intelfx

гцц-фанбоев

Причём тут фанбойство? Clang имеет свою нишу - разработка. Он быстро компилирует, имеет кучу обвязок, статические анализаторы всякие, интеграцию с IDE. Но для релизной сборки лучше использовать GCC, потому что он лучше оптимизирует. Вот и всё.

eternal_sorrow ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.