CVE-2026-72134

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: spi: imx: DMA başladıla bilmədikdə PIO üçün yenidən konfiqurasiya etmək spi_imx_can_dma() DMA seçdikdə, ECSPI DMA üçün konfiqurasiya edilir: spi_imx_setupxfer() CTRL.SMC-ni təyin edir və dynamic_burst-i təmizləyir, həmçinin spi_imx_dma_transfer() dinamik-burst BURST_LENGTH və SDMA watermarks parametrlərini proqramlaşdırır. Əgər DMA deskriptoru hazırlana bilmirsə (dmaengine_prep_slave_single() NULL qaytarırsa), ötürmə SPI_TRANS_FAIL_NO_START ilə uğursuz olur və PIO-ya geri qayıdır. Dinamik-burst DMA yolu SPI nüvəsinin mapinqi əvəzinə öz bounce buferlərindən istifadə edir, buna görə də xfer->{tx,rx}_sg_mapped təyin edilmir və nüvənin DMA->PIO təkrar cəhdi ötürülür; drayver daxili olaraq PIO-ya geri qayıdır. Lakin DMA rejimi konfiqurasiyasının heç biri ləğv edilmir, buna görə də PIO ötürməsi CTRL.SMC təyin edilmiş halda, yanlış burst uzunluğu və təmizlənmiş dynamic_burst ilə işləyir və ötürülən məlumatlar korlanır. Bu problem, cihaz ağacında (device tree) ECSPI DMA təsvir edən, lakin SDMA-nı ROM proqram təminatında (xarici sdma-imx7d.bin olmadan) işlədən i.MX8MP platalarında asanlıqla baş verir: hər bir ECSPI DMA hazırlığı uğursuz olur. Bu zaman ECSPI1 üzərindəki Infineon SLB9670 TPM sürüşdürülmüş TPM2_GetCapability məlumatları qaytarır, "field failure mode" kimi qeyd edilir və /dev/tpmrm0 heç vaxt yaradılmır. spi_imx_setupxfer() yenidən işə salınmazdan əvvəl controller->fallback təyin edin ki, ECSPI tam olaraq normal PIO ötürməsi kimi yenidən konfiqurasiya edilsin. controller->fallback təyin edildikdə, spi_imx_setupxfer() funksiyası spi_imx_can_dma()-nın false qaytardığını görür, beləliklə o, spi_imx->usedma-nı təmizləyir və kontrolleri yenidən proqramlaşdırır (CTRL.SMC-ni təmizləyir, dynamic_burst və PIO burst uzunluğunu bərpa edir). Açıq şəkildə spi_imx->usedma = false yazılmasına ehtiyac yoxdur: setupxfer() onu artıq can_dma() nəticəsinə əsasən yeniləyir.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux
Dərc15 avq 2026
İlk görülmə15 avq 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux40dee2d3e9994aed9efe7bed40eb0e4d38d5a25c, 245404c26563aafb36aafb01298f148db1851be3 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxfaa8e404ad8e686cb98c51dc507fdcacfb8020ce ≤ v < 40dee2d3e9994aed9efe7bed40eb0e4d38d5a25c, faa8e404ad8e686cb98c51dc507fdcacfb8020ce ≤ v < 245404c26563aafb36aafb01298f148db1851be3, 7.040dee2d3e9994aed9efe7bed40eb0e4d38d5a25c, 245404c26563aafb36aafb01298f148db1851be3

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-72134 · Linux · Dark Radar