[Bionic] ipmi: Remove ACPI SPMI probing from the SSIF (I2C) driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Critical
|
Canonical Kernel Team | ||
Bionic |
Fix Released
|
Critical
|
Unassigned |
Bug Description
[Impact]
The IPMI spec states:
The purpose of the SPMI Table is to provide a mechanism that can be used by the OSPM (an ACPI term for “OS Operating System-directed configuration and Power Management” essentially meaning an ACPI-aware OS or OS loader) very early in the boot process, e.g., before the ability to execute ACPI control methods in the OS is available.
When we are probing IPMI in Linux, ACPI control methods are available, so we shouldn't be probing using SPMI. It could cause some confusion during the probing process.
[Fix]
Fixed upstream in 4.17:
commit 4866b1dce038901
Author: Corey Minyard <email address hidden>
Date: Thu Mar 8 15:00:28 2018 -0600
ipmi: Remove ACPI SPMI probing from the SSIF (I2C) driver
[Test]
-- Test case --
for i in {1..500}; do sudo modprobe -r ipmi_ssif; sleep 2s ; sudo modprobe ipmi_ssif || exit; done
--------------
-- Before Applying the patch --
Jun 19 18:53:04 starbuck kernel: [ 126.351580] ipmi_ssif 0-000e: Found new BMC (man_id: 0x000000, prod_id: 0x0202, dev_id: 0x20)
Jun 19 18:53:06 starbuck kernel: [ 128.725391] ipmi_ssif: probe of dmi-ipmi-ssif.1 failed with error -17
-- With patch applied --
Oct 19 19:59:49 starbuck kernel: [ 1501.699109] IPMI SSIF Interface driver
Oct 19 19:59:49 starbuck kernel: [ 1501.730439] ipmi_ssif: Trying SMBIOS-specified SSIF interface at i2c address 0xe, adapter xlp9xx-i2c, slave address 0x20
Oct 19 19:59:49 starbuck kernel: [ 1501.862509] ipmi_ssif 0-000e: Found new BMC (man_id: 0x000000, prod_id: 0x0202, dev_id: 0x20)
[Regression Potential]
This patch applies to ipmi_ssif driver and was tested on ARM64 Cavium ThunderX2 platform and no regressions were found.
CVE References
Changed in linux (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Critical |
Changed in linux (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: | added: cscc |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1799276
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.