** 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

Reply via email to