CVE-2026-64501
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/07/2026
Última modificación:
25/07/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
iio: adc: ad_sigma_delta: fix CS held asserted and state leaks<br />
<br />
In ad_sigma_delta_single_conversion(), set_mode(AD_SD_MODE_IDLE) and<br />
disable_one() were called from the out: block while keep_cs_asserted<br />
was still true. This caused any SPI transfer issued by those callbacks<br />
to carry cs_change=1, leaving CS permanently asserted after the<br />
conversion. Fix by moving both calls into the out_unlock: block, after<br />
keep_cs_asserted is cleared, matching the pattern already used in<br />
ad_sd_calibrate().<br />
<br />
In the error path of ad_sd_buffer_postenable(), if an operation fails<br />
after set_mode(AD_SD_MODE_CONTINUOUS) has already succeeded (e.g.<br />
spi_offload_trigger_enable()), the device is left in continuous<br />
conversion mode with CS physically asserted. Additionally,<br />
bus_locked remaining true after spi_bus_unlock() causes subsequent<br />
SPI operations to call spi_sync_locked() without the bus lock actually<br />
held, allowing concurrent SPI access.<br />
<br />
Fix the error path by clearing keep_cs_asserted first, then calling<br />
set_mode(AD_SD_MODE_IDLE) to revert the device mode and deassert CS,<br />
then clearing bus_locked before releasing the bus.<br />
<br />
For devices that implement neither set_mode nor disable_one (such as<br />
MAX11205, which has no physical CS pin), no SPI transfer is issued<br />
during cleanup and the cs_change flag has no effect on any physical<br />
line.



