Description
In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: lpass-cpu: use DAI table index for playback constraints The DAI ID is a hardware port ID and is not necessarily the index of the corresponding entry in variant->dai_driver. When configuring a DAI with LPAIF_I2SCTL_MODE_QUAD01, the probe code currently uses dai_id to index variant->dai_driver. This is incorrect for platforms where DAI IDs are sparse. For example, the IPQ806x MI2S DAI has ID 4 while it is the only entry in the DAI driver table. If that DAI is configured for QUAD01 and probe reaches this branch, the code writes beyond that single entry via dai_driver[4] instead of updating the DAI being processed. Use the loop index i when updating the current DAI's playback channel constraints, while retaining dai_id for indexing the hardware-port specific playback SD-line mode array. This fixes the incorrect DAI table access for platforms where the DAI ID does not match its position in the driver table.
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
c223f41c1a52bfe10f1d3311679b1d1f9813e500 to < 775df6a27e8433e2414124472938009b958f9a77affectedc223f41c1a52bfe10f1d3311679b1d1f9813e500 to < 6833f1893ac2ec40016c348779af63debf3700d2affectedc223f41c1a52bfe10f1d3311679b1d1f9813e500 to < 69d2b7a4c115181629eb14d800aecc3e7de3f7fbaffectedc223f41c1a52bfe10f1d3311679b1d1f9813e500 to < f11336e6d3cd9e28e5cdf1cb8a6171e7c3eff4e4affectedc223f41c1a52bfe10f1d3311679b1d1f9813e500 to < ca51771c8efde5df05476ac98dd1b2af4e2b149faffected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/775df6a27e8433e2414124472938009b958f9a77 ↗
- https://git.kernel.org/stable/c/6833f1893ac2ec40016c348779af63debf3700d2 ↗
- https://git.kernel.org/stable/c/69d2b7a4c115181629eb14d800aecc3e7de3f7fb ↗
- https://git.kernel.org/stable/c/f11336e6d3cd9e28e5cdf1cb8a6171e7c3eff4e4 ↗
- https://git.kernel.org/stable/c/ca51771c8efde5df05476ac98dd1b2af4e2b149f ↗