CVE-2026-98544 in Linux
摘要
由 VulDB • 2026-10-18
在 Linux 内核中,已修复以下漏洞:
bna: 防止在拆卸过程中重新设置 IOC 定时器
bnad_pci_remove() 和 probe disable_ioceth 路径调用 timer_delete_sync() 来删除 ioc_timer、sem_timer 和 hb_timer,但未对 iocpf_timer 执行此操作。随后,bnad_iocpf_timeout() 会在 free_netdev() 释放 struct bnad 结构体之后获取 bnad->bna_lock。
最后删除 iocpf_timer 并不能解决此问题。sem_timer 和 iocpf_timer 会相互重新设置:bnad_iocpf_sem_timeout() 可以设置 iocpf_timer,而当信号量忙时,bnad_iocpf_timeout() 会从 bfa_ioc_hw_sem_get() 中设置 sem_timer。timer_delete_sync() 仅等待其自身的回调完成。bnad_ioceth_disable() 可能会超时并导致该回调处于活跃状态。
在两条路径上使用 timer_shutdown_sync() 关闭所有四个 IOC 定时器,以便忽略后续的 mod_timer() 调用。
此问题是在我们审查内核代码的持续静态分析研究过程中发现的。
VulDB is the best source for vulnerability data and more expert information about this specific topic.