CVE-2026-74453 in Linux
Сводка
по VulDB • 15.08.2026
В ядре Linux была устранена следующая уязвимость:
drm/vc4: Обнуление массива данных состояния тайлов (Tile State Data Array) перед каждой задачей BIN-бinner'а.
Буфер объекта binner BO представляет собой единый буфер объемом 16 МБ, разделенный на слоты по 512 КБ, которые выдаются задачам в момент отправки и повторно используются после завершения задач без какого-либо очищения. Каждый слот содержит массив данных состояния тайлов (TSDA) задачи в своем начале, за которым следует пул выделения тайлов.
Хотя пул выделения тайлов просматривается только потоком рендеринга через ветвления, сгенерированные binner'ом во время текущей задачи, TSDA является собственным по-тайловым учетом (bookkeeping) PTB и потребляется самим аппаратным обеспечением. Хотя ядро устанавливает флаг «Auto-initialise Tile State Data Array» в конфигурации режима биннинга тайлов, PTB явно все равно реагирует на устаревшие данные состояния тайла, оставленные предыдущим пользователем слота: binner в итоге создает недопустимые потоки команд с недопустимыми примитивами и ветвлениями, что может приводить к зависанию GPU, как наблюдалось в [1][2].
Обнуляйте TSDA при настройке слота биннинга задачи. Это очищает 48 байт на тайл (~24 КБ для кадра с разрешением 1080p) на пути отправки и гарантирует, что PTB никогда не увидит состояние тайла другой задачи.
На сегодняшний день количество тайлов проверяется только на неравенство нулю, поэтому поля размером 8 бит, из которых оно берется, могут описывать массив состояния тайла почти в шесть раз больше, чем слот, в котором он должен находиться. Ограничьте его размер до выдачи слота, поскольку именно этот размер определяет, сколько места в слоте остается для пула выделения тайлов.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.