snd_hda_intel module rejected by new kernel with retpoline

Bug #1756506 reported by Oleg Korobkin
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Confirmed
Undecided
Unassigned
virtualbox (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

After a routine software update (which updated the kernel) alsa recognises no sound card although lspci reports an audio device: Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04).

$ uname -a
Linux 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 10:45:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ aplay -l
aplay: device_list:268: no soundcards found...

$ dmesg | grep snd
[ 4.794976] snd_hda_core: version magic '3.13.0-143-generic SMP mod_unload modversions ' should be '3.13.0-143-generic SMP mod_unload modversions retpoline '

Changed in alsa-driver (Ubuntu):
status: New → Incomplete
status: Incomplete → Confirmed
Revision history for this message
Chaim Zax (chaim-zax) wrote :

Similar issue observed with the drivers supplied with virtualbox guest additions in Ubuntu 14.04 after a regular upgrade (running the same kernel as mentioned in previous post).

$ gmesg | grep vbox
[ 32.576197] vboxguest: version magic '3.13.0-143-generic SMP mod_unload modversions ' should be '3.13.0-143-generic SMP mod_unload modversions retpoline '

As it turns out the virtualbox drivers are not supplied as binary .ko files in Ubuntu, their compiled during the installation using 'dkms', which uses the virtualbox driver source from the guest additions package and the kernel headers. During this step the drivers don't get the correct vermagic string.

$ modinfo /lib/modules/3.13.0-143-generic/updates/dkms/vboxsf.ko
filename: /lib/modules/3.13.0-143-generic/updates/dkms/vboxsf.ko
version: 4.3.36_Ubuntu (interface 0x00010004)
license: GPL
author: Oracle Corporation
description: Oracle VM VirtualBox VFS Module for Host File System Access
srcversion: D5BC8E0A67B7E89277BCEA9
depends: vboxguest
vermagic: 3.13.0-143-generic SMP mod_unload modversions
parm: follow_symlinks:Let host resolve symlinks rather than showing them (int)

During compilation the /usr/src/linux-headers-3.13.0-142-generic/include/linux/vermagic.h file is used to generate the vermagic string, which includes /usr/src/linux-headers-3.13.0-143-generic/include/generated/utsrelease.h. After adding a RETPOLINE define to this header file and recompiling the drivers the problems looks solved. The steps are described below.

(as root)
$ echo "#define RETPOLINE 1" >> /usr/src/linux-headers-3.13.0-143-generic/include/generated/utsrelease.h
$ dkms remove virtualbox-guest/4.3.36 -k 3.13.0-144-generic
$ dkms install virtualbox-guest/4.3.36 -k 3.13.0-144-generic

It looks like the linux-headers-3.13.0-143-generic package needs an update to fix the utsrelease.h file (which seems generated too?). This problem most likely has impact on all drivers which are created with the 'dkms' tool.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in virtualbox (Ubuntu):
status: New → Confirmed
Revision history for this message
Chaim Zax (chaim-zax) wrote :

Please consider my remark above a workaround. It will load your kernel module, but it also exposes a kernel vulnerability to your system by allowing a non repoline compiled module to load.

See https://patchwork.kernel.org/patch/10161531/ for more information.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.