CVE-2024-26846 in Linux
요약
\~에 의해 VulDB • 2026. 05. 10.
리눅스 커널에서 다음 취약점이 해결되었습니다:
nvme-fc: 모듈 언로딩 시 무의미하게 대기하지 않음
모듈 종료 경로에서 모든 컨트롤러 삭제와 '남은 ID' 해제를 사이에 경합 조건(race condition)이 존재합니다. 이중 해제를 방지하기 위해 초기 커밋에서 nvme_delete_ctrl와 ida_destroy 간 동기화가 추가되었습니다.
wait_for_completion에서 영구적으로 차단되는 상황을 방지하기 위한 일부 로직이 존재하지만, 모든 경우를 처리하지는 못합니다. 예를 들어, blktests를 통해 모듈 언로딩이 영구적으로 차단되는 상황을 재현할 수 있습니다.
nvme_delete_ctrl 경로에서 실행되는 정리 코드를 완전히 신뢰한다면, 모든 ID는 결국 해제됩니다. 이로 인해 ida_destroy 호출은 불필요해집니다. 우리는 nvme_fc_exit_module을 떠나기 전에 모든 nvme_delete_ctrl 코드가 실행되었음을 보장하기만 하면 됩니다. 이는 nvme_delete_wq 작업 큐(workqueue)를 플러시(flushing)함으로써 수행됩니다.
이 과정에서 사용하지 않는 nvme_fc_wq 작업 큐도 제거합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.