В ядре Linux устранена следующая уязвимость:
iio: adc: ti-ads1119: исправлена утечка ссылок PM в предварительно включенном буфере
ads1119_triggered_buffer_preenable() возобновляет работу устройства с помощью
pm_runtime_resume_and_get() перед началом преобразования. Если i2c_smbus_write_byte() завершается неудачно, функция возвращает ошибку напрямую.
и оставляет счетчик использования PM во время выполнения повышенным. Соответствие
Обратный вызов postdisable не вызывается в случае сбоя preenable, поэтому ссылка
происходит утечка, и устройство может оставаться активным в течение неопределенного времени.
Сохраните результат передачи I2C в ret и поместите ссылку PM времени выполнения на сбой перед возвратом ошибки.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: iio: adc: ti-ads1119: fix PM reference leak in buffer preenable ads1119_triggered_buffer_preenable() resumes the device with pm_runtime_resume_and_get() before starting a conversion. If i2c_smbus_write_byte() fails, the function returns the error directly and leaves the runtime PM usage counter elevated. The matching postdisable callback is not called when preenable fails, so the reference is leaked and the device may remain runtime-active indefinitely. Store the I2C transfer result in ret and drop the runtime PM reference on failure before returning the error.