No kernel Linux, a seguinte vulnerabilidade foi resolvida. drm/xe: Manter uma referência dma-buf para BOs importados Um dma-buf BO importado é criado como um ttm_bo_type_sg BO cujo objeto de reserva é o dma_buf->resv do exportador. O importador, no entanto, só toma uma referência dma- buf após um sucesso dma_buf_dynamic_ attach(). Até lá nada mantém o exportador vivo, então se o exportador for libertado enquanto o BO ainda refere o seu resv, um acesso posterior a esse resv é um uso- depois- livre: Oops: falha de proteção geral, provavelmente para endereço não-canonico 0 x 6 b 6 b 6 b 6 b 6 b 6 b 6 b 9 c Reprodução: ttm ttm_bo_delayed_delete [ ttm] RIP: 0010:mutex_can_spin_on_own+ 0 x 3 f/ 0 xc 0.

Isto pode ser alcançado em dois caminhos. - dma_buf_dynamic_atach() falha, ou - ttm_bo_init_reserved() falha durante a criação do BO. Em ambos os casos, o BO já tem bo->base.resv apontando para o exportador resv, e os sg BOs são sempre demolidos via ttm_bo_delayed_delete(), que bloqueia o bo->base.resv assimncrono - potencialmente após o exportador ter sido libertado. Pegue a referência dma-buf no xe_bo_init_locked(), antes do ttm_bo_init_reserved(), então também cobre um falha de criação lá, e solte-o no xe_ttm_bo_destroy(). A referência é mantida durante toda a vida do BO, mantendo o resv compartilhado vivo em cada caminho.

v 2: - Reelaborou a correção para evitar a criação do sg BO importado antes do dma_buf_dynamic_atach() ter sucesso. - Anexe com importator_priv == NULL e faça invalidar_ maps ignorar as importações incompletas. v 3: - Deixou cair a abordagem de reordenamento do lado xe, uma vez que importator_priv deve ser válido quando dma_buf_dynamic_attch() publica o anexo. - Sugestão de Christian sobre o v 1 thread, teclado a verificação no import_ attach em vez de remover completamente o sg guard. - Conserta tanto o xe como o amdgpu em um único patch TTM.

v 4: - Verifique importar_attach movido para depois do dma_resv_copy_fences() para que as cercas sejam copiadas antes de retornar para importações bem sucedidas (Thomas). - Retirada a reivindicação viva do exportador da mensagem de commit (Thomas). v 5: - Adicione o patch drm/xe para manter os sg BO importados fora do LRU antes de anexar sucesso; a correção TTM isoladamente não é suficiente para xe se o BO já é LRU-visível. (Thomas) v 4 Patch: 736663 /?serie= 169129 & rev= 2 - Patch 1 (drm/ ttm) carrega o Christian's Revisado-by de v 4.

v 6: - Reatualizado a correção com base na sugestão do Thomas. Em vez da individualização do resv TTM (v 1 - v 5 ) mais o xe off-LRU/ movimentação de colocação (v 5 ), basta segurar uma referência dma- buf para a vida útil do BO importado para que o resv compartilhado nunca possa ser libertado enquanto o BO ainda a refere. Single xe patch, no TTM change. (Thomas) - Tome a referência em xe_bo_init_locked() antes de ttm_bo_init_reserved() para que um falha de criação TTM seja coberto também (Thomas). - Deixou cair o v 5 série (drm/ ttm + drm/ xe off- LRU); a abordagem off- LRU também regrediu no CI BAT via ttm_bo_pipeline_ gutting() criando um BO fantasma que sobreviveu ao exportador. Link para v 5: 169984 / v 7: - Mover o registro de mudança acima --- para que fique na mensagem de commit. - Reordenar os itens de registro de mudança mais antigos para mais novos. (Thomas).

(cereja colhida a partir do commit 3516 f 3 fae 6 ser 35642 f 8 f 06 f 8 a 218 da 6425 c 0306 a) Registro de aconselhamento: GHSA- 9 jm 7 - 867 x- hm 4 j. Identificadores relacionados: CVE- 2026 - 68266.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 10 T 15: 33: 43.000 Z e lista a sua última modificação como 2026 - 08 - 14 T 00: 31: 54.000 Z. Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões. Classificação e evidência: nenhum identificador CWE está listado. O registro contém 5 suporte de referências nestes tipos: AVISO, WEB.