** Description changed: - wl.o: error: objtool: aes_cbc_encrypt_pad+0x4c: unannotated intra- - function call + [SRU Justification] + + [ Impact ] + + Users running Noble with the broadcom-sta wireless driver installed on their systems will run into + a DKMS build failure during the installation of the HWE kernel (7.0.0-29.29~24.04.2 at the time this was written). + + As a result, Noble users are blocked from upgrading to the HWE kernel if they depend on the broadcom-sta driver for internet. + + There's some decent public interest in resolving this issue, as at least 30 users have reported being impacted by this on Launchpad along + with misc. reports around the internet and to Canonical Support. + + To fix this bug, I plan on cherry-picking the following patch from Resolute, which itself is sourced from Debian: + https://git.launchpad.net/ubuntu/+source/broadcom-sta/tree/debian/patches/42-build-dirty-fix-for-the-linking.patch?h=ubuntu/resolute + + This patch disables the use of objtool to prevent it from processing the proprietary blob within the driver + (which can't be processed by objtool anyway) and throwing a fatal error during the build. + + + [ Test Plan ] + + The build failure is quick to reproduce on any Noble system. Below I'll provide steps for + spinning up a VM with LXD to quickly reproduce this yourself: + + 1. lxc launch ubuntu:noble lp2161038-repro -c boot.mode=bios --vm # Set boot mode to BIOS to avoid needing to configure UEFI + 2. lxc shell lp2161038-repro + Within the VM now: + 3. apt update && apt install -y broadcom-sta-dkms # Should succeed, haven't installed HWE kernel yet + 4. apt install -y linux-generic-hwe-24.04 + + This should fail with the following error: + + Error! Bad return status for module build on kernel: 7.0.0-29-generic (x86_64) + Consult /var/lib/dkms/broadcom-sta/6.30.223.271/build/make.log for more information. + + That make log should contain the following error: + wl.o: error: objtool: aes_cbc_encrypt_pad+0x4c: unannotated intra-function call + + + Before landing a fix for this bug we should + 1. Confirm that the updated module builds and loads on kernel version 6.8.0 (what Noble ships with) + 2. Confirm that the updated module builds and loads on kernel version 7.0.0 (the current HWE version) + 3. Have users with an actual Broadcom card verify that the updated package doesn't break wireless functionality + on both kernel versions + + * This bug report already has users reporting that disabling objtool during the build didn't have any noticeable impact + on wireless functionality on kernel version 7.0.0. The approach they took to disable objtool slightly differs from the patch + I propose cherry-picking, but from what I can tell should be equivalent. Regardless, should ask users to test + the updated package when it lands in the proposed pocket. + + [ Where problems could occur ] + + I expect disabling objtool during the build should have no functional changes, since the relevant change between kernel versions + was this commit (https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=0b10177114d1e434af850b377cf5e6620dd1d525) that + made objtool start failing the build when it encountered an error processing proprietary blob for the driver. + + It's possible there are some other effects that objtool had when it wasn't failing on errors that I'm not aware of + that might impact wireless functionality. Based on the existing user reports of success applying the proposed fix themselves, + I expect any potential issues to be subtle and not be evident until the package is tested by a large amount of users. + + [ Other Info ] + + Doesn't impact Resolute or later, since the package there already has + this patch from Debian. + + ============================ Original Bug Report + ============================== + + + wl.o: error: objtool: aes_cbc_encrypt_pad+0x4c: unannotated intra-function call Full make.log attached -------------------------------------------- WORKAROUND (courtesy of eumir camara) -------------------------------------------- Edit /usr/src/broadcom-sta-6.30.223.271/dkms.conf Change: MAKE[0]="make KVER=$kernelver" to: MAKE[0]="make KVER=$kernelver objtool=/bin/true" Save file. Run: sudo apt install broadcom-sta-dkms && sudo apt dist-upgrade You should now be able to reboot into the 7.0.x kernel successfully.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2161038 Title: broadcom-sta-dkms fails to build with kernel 7.0 HWE To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/broadcom-sta/+bug/2161038/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
