Linux · Linux Kernel · CVE-2024-47143
Nome do Software Vulnerável e Versões Afetadas:
Versões do kernel Linux anteriores à 6.6.74
Descrição:
Um possível cenário de deadlock pode ocorrer quando a API de depuração dma é chamada enquanto se mantém `rq lock()`. Isso ocorre porque `radix lock()` é mantida enquanto `dma hash entry[idx].lock` também está mantida. A situação pode surgir de duas maneiras: ao estender a árvore radix e tentar ativar o kswapd via `wake all kswapd()`, ou quando uma operação de sincronização dma é chamada enquanto se exclui `perf event` usando `etm` e `etr` tmc, que são backends de driver de hwtracing Arm Coresight.
Recomendações:
Para resolver o problema, atualize para a versão 6.6.74 ou superior do kernel Linux. Como solução temporária, considere modificar a função `check unmap()` para chamar `dma entry free()` após `put hash bucket()` para evitar o possível cenário de deadlock.