В ядре Linux устранена следующая уязвимость:
ASoC:xilinx:formatter_pcm: передать aud_drv_data обработчикам irq
Обработчики irq принимают указатель устройства структуры и вызывают
dev_get_drvdata() для получения данных драйвера. Однако водитель
данные устанавливаются только в конце зонда, после devm_request_irq(),
поэтому прерывание, сделанное между ними, заставляет обработчики передавать
NULL-указатель на readl() и сбой.
Передайте личные данные напрямую в качестве аргумента devm_request_irq().
вместо указателя устройства, соответствующего ожиданиям обработчиков.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: ASoC: xilinx: formatter_pcm: pass aud_drv_data to irq handlers The irq handlers take a struct device pointer and call dev_get_drvdata() to obtain the driver data. However, the driver data is only set at the end of probe, after devm_request_irq(), so an interrupt taken in between causes the handlers to pass a NULL pointer to readl() and crash. Pass the private data directly as the devm_request_irq() argument instead of the device pointer, matching what the handlers expect.