В ядре Linux была устранена следующая уязвимость: net: ethernet: ti: am65-cpsw: исправление освобождения IRQ в am65_cpsw_nuss_remove_tx_chn…
В ядре Linux была устранена следующая уязвимость: net: ethernet: ti: am65-cpsw: исправление освобождения IRQ в am65_cpsw_nuss_remove_tx_chns() При получении IRQ мы используем k3_udma_glue_tx_get_irq(), который возвращает отрицательное значение ошибки при ошибке. Поэтому отсутствие проверки на NULL не является достаточным для определения, корректен ли IRQ. Проверьте, что IRQ больше нуля, чтобы убедиться, что он действителен. На этапе исследования проблемы нет, но во время выполнения пользователь может вызвать .set_channels, что приводит к следующей цепочке вызовов. am65_cpsw_set_channels() am65_cpsw_nuss_update_tx_rx_chns() am65_cpsw_nuss_remove_tx_chns() am65_cpsw_nuss_init_tx_chns() На этом этапе, если am65_cpsw_nuss_init_tx_chns() завершается ошибкой из-за k3_udma_glue_tx_get_irq(), то tx_chn->irq будет установлен в отрицательное значение. Затем, при последующем вызове .set_channels с большим количеством каналов, мы попробуем освободить недействительный IRQ в am65_cpsw_nuss_remove_tx_chns(), что приведет к предупреждению ядра. Проблема присутствует в оригинальном коммите, который ввел этот драйвер, хотя там am65_cpsw_nuss_update_tx_rx_chns() существовал как am65_cpsw_nuss_update_tx_chns().
Продукт разыменовывает указатель, который предполагается допустимым, однако оказывается равным NULL.
https://cwe.mitre.org/data/definitions/476.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |