{"id":6796,"date":"2026-09-04T18:49:17","date_gmt":"2026-09-04T10:49:17","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72134"},"modified":"2026-09-04T18:49:17","modified_gmt":"2026-09-04T10:49:17","slug":"cve-2026-72134","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72134","title":{"rendered":"CVE-2026-72134 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nspi: imx: reconfigure"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>spi: imx: reconfigure for PIO when DMA cannot be started<\/p>\n<p>When spi_imx_can_dma() selects DMA, the ECSPI is configured for DMA:<br \/>\nspi_imx_setupxfer() sets CTRL.SMC and clears dynamic_burst, and<br \/>\nspi_imx_dma_transfer() programs the dynamic-burst BURST_LENGTH and the<br \/>\nSDMA watermarks.<\/p>\n<p>If the DMA descriptor cannot be prepared (dmaengine_prep_slave_single()<br \/>\nreturns NULL), the transfer is failed with SPI_TRANS_FAIL_NO_START and<br \/>\nfalls back to PIO. The dynamic-burst DMA path uses its own bounce<br \/>\nbuffers instead of the SPI core&#8217;s mapping, so xfer-&gt;{tx,rx}_sg_mapped<br \/>\nare not set and the core&#8217;s DMA-&gt;PIO retry is skipped; the driver falls<br \/>\nback to PIO internally. But none of the DMA-mode configuration is<br \/>\nundone, so the PIO transfer runs with CTRL.SMC set, the wrong burst<br \/>\nlength and dynamic_burst cleared, and the transferred data is corrupted.<\/p>\n<p>This is easily hit on i.MX8MP boards that describe ECSPI DMA in the<br \/>\ndevice tree but run SDMA on ROM firmware (no external sdma-imx7d.bin):<br \/>\nevery ECSPI DMA prepare fails. An Infineon SLB9670 TPM on ECSPI1 then<br \/>\nreturns shifted TPM2_GetCapability data, is flagged &#8220;field failure<br \/>\nmode&#8221;, \/dev\/tpmrm0 is never created.<\/p>\n<p>Set controller-&gt;fallback before re-running spi_imx_setupxfer() so the<br \/>\nECSPI is reconfigured exactly like a normal PIO transfer. With<br \/>\ncontroller-&gt;fallback set, spi_imx_setupxfer() sees spi_imx_can_dma()<br \/>\nreturn false, so it clears spi_imx-&gt;usedma and reprograms the controller<br \/>\n(clears CTRL.SMC, restores dynamic_burst and the PIO burst length). No<br \/>\nexplicit spi_imx-&gt;usedma = false is needed: setupxfer() already updates<br \/>\nit from the can_dma() result.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>spi: imx: reconfigure for PIO when DMA cannot be started<\/p>\n<p>When spi_imx_can_dma() selects DMA, the ECSPI is configured for DMA:<br \/>\nspi_<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-6796","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/6796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}