Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
High
|
You-Sheng Yang | ||
Focal |
Won't Fix
|
High
|
You-Sheng Yang | ||
Groovy |
Fix Released
|
High
|
You-Sheng Yang | ||
linux-oem-5.10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
You-Sheng Yang | ||
Groovy |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.6 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
You-Sheng Yang | ||
Groovy |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[SRU Justification]
[Impact]
When booting with a certain platforms with boot disk attached to SATA
bus behind Intel VMD controller, disk probing may fail with following
error messages left in dmesg:
[ 6.163286] ata1.00: qc timeout (cmd 0xec)
[ 6.165630] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[Fix]
Upstream commit f6b7bb847ca8 ("PCI: vmd: Offset Client VMD MSI-X
vectors") currently in vanilla kernel tree for v5.11.
[Test Case]
Check dmesg/lsblk for disk probe.
For pci MSI address, check lspci output:
$ lspci -vvnn
....
Capabilities: [80] MSI: Enable+ Count=1/1 maskable- 64bit-
Address: fee00000 Data: 0000
When it fails, the address is fee00000. And with a patched kernel:
$ lspci -vvnn
....
Capabilities: [80] MSI: Enable+ Count=1/1 maskable- 64bit-
Address: fee01000 Data: 0000
[Where problems could occur]
An unpatched kernel will not be able to probe SATA controllers moved
behind VMD when VMD/RAID mode is enabled in BIOS, leaving disks
attached on it completely unusable. With this change, kernel would
then be able to probe them but may also suffer from issues that only
occur under such configuration. However, the worst case is to move away
sata disks from VMD bus as they are currently without this fix, so the
risk here should be justified.
========== Previous SRU ==========
[SRU Justification]
[Impact]
When booting with a certain platforms with boot disk attached to SATA
bus behind Intel VMD controller, disk probing may fail with following
error messages left in dmesg:
[ 6.163286] ata1.00: qc timeout (cmd 0xec)
[ 6.165630] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[Fix]
Proposed kernel patch https:/
[Test Case]
Check dmesg/lsblk for disk probe.
For pci MSI address, check lspci output:
$ lspci -vvnn
....
Capabilities: [80] MSI: Enable+ Count=1/1 maskable- 64bit-
Address: fee00000 Data: 0000
When it fails, the address is fee00000. And with a patched kernel:
$ lspci -vvnn
....
Capabilities: [80] MSI: Enable+ Count=1/1 maskable- 64bit-
Address: fee01000 Data: 0000
[Regression Potential]
Low. For previous NVMe based platforms, this patch brings no effective
change for NVMe devices because they will still stay in fast-interrupt
list.
========== Original Bug Description ==========
When booting with root filesystem on sata disks under Intel VMD mode, following errors printed in dmesg and no disk is found, nor booting into it:
[ 6.163286] ata1.00: qc timeout (cmd 0xec)
[ 6.165630] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 6.483649] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 16.659284] ata1.00: qc timeout (cmd 0xec)
[ 16.661717] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 16.663161] ata1: limiting SATA link speed to 1.5 Gbps
[ 16.983890] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 48.147294] ata1.00: qc timeout (cmd 0xec)
[ 48.149737] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 48.467889] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
$ lspci
...
10000:e0:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20)
CVE References
tags: | added: oem-priority originate-from-1891445 somerville |
tags: | added: originate-from-1892806 |
Changed in linux-oem-5.6 (Ubuntu Groovy): | |
status: | New → Confirmed |
Changed in linux-oem-5.6 (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in linux-oem-5.6 (Ubuntu Groovy): | |
status: | Confirmed → Invalid |
Changed in linux (Ubuntu Groovy): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Focal): | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in linux (Ubuntu Groovy): | |
importance: | Undecided → High |
Changed in linux-oem-5.6 (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in linux-oem-5.6 (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-groovy removed: verification-needed-groovy |
Changed in hwe-next: | |
status: | New → Fix Released |
Verified https:/ /patchwork. kernel. org/patch/ 11758345/ fixes this issue.