Description
In the Linux kernel, the following vulnerability has been resolved: ata: libahci: clear PxCLBU and PxFBU for AHCI_HFLAG_32BIT_ONLY A user reported that commit 105c42566a55 ("ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585") made the JMicron JMB585 unusable on his board. The failure is seen as soon as the ahci driver is probed, and booting with iommu=off does not solve the problem. Looking at the AHCI specification, PxCLBU and PxFBU are both read only '0' for HBAs that do not support 64-bit addressing. For HBAs that do support 64-bit addressing, the registers are read write, with a reset value that is Implementation Specific. When using the AHCI_HFLAG_32BIT_ONLY flag, the HBA does support 64-bit addressing, and a 32-bit DMA mask is set by simply clearing HOST_CAP_64. Thus, in this case, we need to explicitly clear the registers to 0.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < 0191c9ff23ef1678dbfb5ad253a2dee92feb5d71affectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < 8f510f68208a1f673d7c7234a687be4671490e9caffectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < 4719424bb7cb9f20b73986bcb72dd528f0e5c6ebaffectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < a5a8b4737f68bbac8aa0685af0c8921e6003c22baffectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < b28a17d4a9bb0aa38b48681c3927b012ba40eabeaffectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < b691a3e244278362e552439d6d3ee5a5d3703488affectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < 7912ad8fb5233bb8cfe21d50df639c7f4854ff9daffectedc7a42156d99bcea7f8173ba7a6034bbaa2ecb77c to < 82e47533221d4746947b74d2e79a478c36c6433aaffected
Linux Linux
Default version status: affected
2.6.22affected0 to < 2.6.22unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.54 to ≤ 6.18.*unaffected7.2.8 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/0191c9ff23ef1678dbfb5ad253a2dee92feb5d71 ↗
- https://git.kernel.org/stable/c/8f510f68208a1f673d7c7234a687be4671490e9c ↗
- https://git.kernel.org/stable/c/4719424bb7cb9f20b73986bcb72dd528f0e5c6eb ↗
- https://git.kernel.org/stable/c/a5a8b4737f68bbac8aa0685af0c8921e6003c22b ↗
- https://git.kernel.org/stable/c/b28a17d4a9bb0aa38b48681c3927b012ba40eabe ↗
- https://git.kernel.org/stable/c/b691a3e244278362e552439d6d3ee5a5d3703488 ↗
- https://git.kernel.org/stable/c/7912ad8fb5233bb8cfe21d50df639c7f4854ff9d ↗
- https://git.kernel.org/stable/c/82e47533221d4746947b74d2e79a478c36c6433a ↗