Confirmed that lttng-modules can now be built with the derivative kernels based on linux/4.15.0-166.174 which have high ABI numbers and were causing lttng-modules build to fail previously.
Examples: * bionic/linux-dell300: - before: https://autopkgtest.ubuntu.com/results/autopkgtest-bionic/bionic/amd64/l/lttng-modules/20211207_144636_9f61b@/log.gz - now: https://autopkgtest.ubuntu.com/results/autopkgtest-bionic/bionic/amd64/l/lttng-modules/20211210_125952_e1eee@/log.gz * bionic/linux-snapdragon: - before: https://autopkgtest.ubuntu.com/results/autopkgtest-bionic/bionic/arm64/l/lttng-modules/20211203_103656_c120a@/log.gz - now: https://autopkgtest.ubuntu.com/results/autopkgtest-bionic/bionic/arm64/l/lttng-modules/20211210_122507_acaa6@/log.gz ** Tags removed: verification-needed-bionic ** Tags added: verification-done-bionic -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1953522 Title: Ubuntu version macros overflow with high ABI numbers Status in linux package in Ubuntu: Invalid Status in lttng-modules package in Ubuntu: Confirmed Status in linux source package in Bionic: Fix Committed Status in lttng-modules source package in Bionic: Triaged Bug description: [SRU Justification] == Impact == The kernel change (which may or may not be taken back) revealed a build issue we already have with lltng-modules and our high ABI numbers for derivative/custom kernels. It should be fixed regardless of what the kernel will do. == Fix == The proposed fix changes macros which are used to do run-time adaptions of code based on the kernel version for which the DKMS modules are built for. The number keys which the macros are using are not included in the code and the way those are used will either cause build failures or produce the same code as before. == Test case == Producing DKMS modules is the test case here. I did tests with the previous bionic:linux-snapdragon (which uses the old sub-level in the kernel) and the same kernel in proposed which has the sub-level set to 255 fix). Both worked. == Regression Potential == Building DKMS modules for lttng could start to fail. --- An upstream kernel change which was introduced to avoid high sub-level numbers in 4.14.y to overflow into the minor number has uncovered a similar issue with LTTNG's macros which allow versioned code adaptions. To allow that the ABI number of the kernel is inserted as a new sub- sub-level number. Which is done by shifting the existing LINUX_VERSION_CODE by another 8 bits. But this only allows for ABI numbers up to 255. After that they overflow into the sub-level part of the kernel. This went unnoticed until the kernel side changed this number to be 255 fix. Now the overflow reaches the minor number and this breaks assumptions in the code. For example bionic:linux-snapdragon (-1117) fails to produce lttng- modules (DKMS) but the previous version would succeed. When changing the LINUX_VERSION_CODE back, this works in both cases. Since the macros are only used to make compile time decisions the proposed fix would be to extend the ABI number size to 16bit. That will work in all cases. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1953522/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp