30.07.2021

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

Несколько часов назад 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

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

Источник.