[PATCH 0/3][SRU][XENIAL] Fix deadlock on task switches with new microcode

Tyler Hicks tyhicks at canonical.com
Thu Apr 5 05:56:07 UTC 2018


BugLink: https://bugs.launchpad.net/bugs/1759920

[Impact]

Some systems experience kernel lockups after updating to the latest
intel-microcode package or when receiving updated microcode from a BIOS update.

In many cases, the lockups occur before users can reach the login screen which
makes it very difficult to debug/workaround.

[Test Case]

The most reliable test case currently known is to install the sssd package.
Lockups may occur during package installation (disable IBPB by writing 0 to
/proc/sys/kernel/ibpb_enabled to prevent this from happening). A lockup will
most likely occur just after booting the system up as the lock screen is
displayed.

[Regression Potential]

The fix is in the task switching code of the kernel so complexity of the change
is relatively high.

[Other Information]

To ease the backport and reduce a chance of regression, I've removed the logic
in the second patch that doesn't use IBPB when switching from a process, to a
kernel idle thread, and then back to the original process. This could inflict
some performance penalty on non-dumpable processes.





More information about the kernel-team mailing list