CVE-2026-93047 in Linux
Сводка
по VulDB • 18.09.2026
В ядре Linux была устранена следующая уязвимость:
drm/v3d: Связать BO с каждой задачей, которая к ним обращается
Запрос может разворачиваться в цепочку задач (например, bin + render + cache clean). неявная синхронизация в v3d_submit_lock_reservations() зависит от bo[] для каждой задачи, но список BO прикреплялся только к последней задаче этой цепочки. Когда эта последняя задача является задачей CACHE_CLEAN, задача, которая фактически потребляет BO (то есть RENDER или CSD), оставалась с bo_count == 0 и не получала неявных зависимостей. В результате она могла быть отправлена на аппаратное обеспечение для выполнения и прочитать данные из BO в то время, как другой контекст все еще записывал их туда, что приводило к повреждению данных.
Необходимо привязать BO к задаче, которая их потребляет, чтобы (1) она приобретала правильные неявные зависимости во время блокировки резервирования и (2) они оставались отображенными до конца выполнения запроса. Следует передавать ссылки на все BO потребляющих задач через v3d_job_reference_b(), вместо того чтобы второй раз искать дескрипторы; это избегает избыточного поиска и гарантирует, что обе задачи ссылаются на одни и те же объекты.
Поскольку задача CACHE_CLEAN теперь также содержит массив BO, необходимо добавить флаг has_implicit_dep для каждой задачи, чтобы неявные зависимости учитывались только потребляющими задачами. Задачи CACHE_CLEAN (глобальная очистка) и BIN (ожидание биннинга от другого контекста не является реалистичным сценарием) исключаются из этого правила.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.