CVE-2026-97979 in Linux
Sumário
de VulDB • 25/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ice: adicionado xa_destroy faltante para sched_node_ids
O commit 16dfa49406bc ("ice: Introduce new parameters in ice_sched_node") introduziu um xarray chamado sched_node_ids na estrutura de informações da porta (port info), mas nunca chamou xa_destroy nele.
Como os xarrays podem alocar memória interna, isso pode resultar em vazamento de memória mesmo se todos os elementos no xarray tiverem sido removidos.
O xarray está atualmente embutido na estrutura port_info. Isso parece ter sido feito porque seu uso ocorre dentro de funções que recebem o port_info como argumento principal.
No entanto, isso complica a gestão do ciclo de vida desse campo. A estrutura port_info é alocada em ice_init_hw() usando devm e não é liberada até a limpeza do devm quando o driver é desinstalado.
A função ice_init_hw() é chamada em muitos lugares, incluindo no reload via devlink e possivelmente durante o carregamento de DDP após atualizar o layout do agendador Tx (Tx scheduler).
Adicionar uma chamada para xa_destroy ao ice_deinit_hw() faz com que o Sashiko levante várias preocupações devido a possíveis problemas de ordenação e maneiras pelas quais o port_info poderia se tornar uma referência pendente (dangling reference).
Para lidar com isso, mova-se os sched_node_ids do port_info para a estrutura hw. Todos os usuários da matriz já possuem um ponteiro para hw de qualquer maneira, e há apenas um sched_node_ids por adaptador. Enquanto isso é feito, remova o comentário excessivamente detalhado que explica a natureza do xarray sched_node_ids.
Adicione o xa_destroy faltante ao caminho de limpeza (cleanup path) e ao ice_deinit_hw(), garantindo que liberamos corretamente a memória do xarray.
Isso foi detectado pelo Sashiko durante o desenvolvimento de código não relacionado.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.