CVE-2025-38136 in LinuxИнформация

Сводка

по VulDB • 16.05.2026

В предоставленном логе ядра Linux (ARM64) отображается **Kernel Panic** или **Oops**, произошедший при загрузке модуля `renesas_usbhs` (драйвер USB-контроллера Renesas).

### Краткий анализ: 1. **Ошибка**: `Call trace` указывает на то, что падение произошло в функции `usbhs_bset` из модуля `renesas_usbhs`. 2. **Контекст**: Ошибка возникла на этапе `platform_probe` — то есть при инициализации устройства во время загрузки драйвера. 3. **Причина**: Судя по регистру `x0` (`ffff0000c3b52080`) и тому, что это `ioremap`-адрес, скорее всего, происходит **некорректный доступ к памяти** или **неверный адрес регистра** в функции `usbhs_bset`. Это часто случается, если: * Драйвер не может правильно сопоставить регистры устройства (проблема с Device Tree / DT). * Адрес базы регистров USB-контроллера указан неверно в DT. * Драйвер пытается записать в несуществующий или недоступный регистр.

---

### Детальный разбор регистров и trace:

``` x0 : ffff0000c3b52080 <- Адрес, с которым работает функция (вероятно, адрес регистра) x1 : 0000000000000000 <- Значение для записи (0) x2 : 0000000000000400 <- Маска (mask) x3 : 0000000000000000 ... Call trace: usbhs_bset+0x14/0x4c [renesas_usbhs] <- Точка падения
platform_probe+0x68/0xdc <- Инициализация платформы ... ```

Функция `usbhs_bset` обычно выполняет атомарную операцию "read-modify-write" для регистра USB-контроллера. Падение здесь означает, что: * Адрес `x0` не является валидным I/O-памятью. * Или устройство не было правильно инициализировано (например, `devm_ioremap_resource` вернул ошибку, но драйвер продолжил работу). * Или в Device Tree указан неверный `reg` для USB-контроллера.

---

### Рекомендации по исправлению:

#### 1. Проверьте Device Tree (DTS) Убедитесь, что в файле `.dts` для вашего SoC Renesas правильно указан блок USB-контроллера: ```dts &usbhs {
status = "okay"; /* Убедитесь, что адрес и длина регистров корректны */ reg = <0x... 0x...>; interrupts = <...>; clocks = <...>; }; ``` Особенно важно проверить, что адрес `reg` совпадает с документацией на ваш чип (например, R-Car, RZ/G и т.д.).

#### 2. Проверьте загрузку модуля Если вы загружаете модуль вручную (`insmod`), убедитесь, что: * Все зависимости (clocks, resets) удовлетворены. * Нет конфликтов с другими драйверами.

#### 3. Включите отладку ядра Добавьте в параметры ядра: ``` debug_kernel loglevel=8 ``` Это даст больше информации о том, что происходит перед падением.

#### 4. Проверьте версию драйвера Драйвер `renesas_usbhs` может быть устаревшим или несовместимым с вашей версией ядра/аппаратной версии. Попробуйте: * Обновить ядро до последней стабильной версии. * Использовать более новый драйвер `ci_hdrc_omap` или `dwc3`, если ваша платформа их поддерживает (например, для R-Car Gen3+ используется `dwc3`).

#### 5. Проверьте питание и тактирование Иногда падение при `probe` связано с тем, что тактирование или питание USB-контроллера не включено правильно. Убедитесь, что в DT указаны все необходимые `clocks` и `resets`.

---

### Как

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

16.04.2025

Раскрытие

03.07.2025

Модерация

принято

Вход

VDB-314717

EPSS

0.00172

KEV

Нет

Деятельности

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!