CVE-2026-97527 in Linux
요약
\~에 의해 VulDB • 2026. 09. 25.
Linux 커널에서 다음 취약점이 해결되었습니다:
scsi: qla2xxx: per-fcport 잠금을 사용하여 NVMe 비동기 컨텍스트 목록 직렬화하기
fcport->unsol_ctx_head 목록은 공통 잠금 없이 여러 컨텍스트에서 수정됩니다. 항목은 응답 큐 ISR(qpair qp_lock 하위)의 qla2xxx_process_purls_iocb() 함수에서 추가되는 반면, qla2xxx_process_purls_pkt()(DPC/purex 워커), qla_nvme_xmt_ls_rsp()(NVMe-FC 전송 콜백), 그리고 qla_nvme_release_lsrsp_cmd_kref()(SRB 완료)에서는 제거됩니다. 다중 큐 어댑터가 서로 다른 qpair를 통해 항목을 추가하므로, qpair qp_lock은 이 per-fcport 목록의 직렬화를 수행할 수 없습니다. 따라서 동시 추가 및 삭제(또는 두 번의 동시 삭제)로 인해 목록 포인터가 손상될 수 있습니다.
qla2x00_alloc_fcport()에서 초기화되는 전용 per-fcport 스핀락인 unsol_ctx_lock을 도입하고, unsol_ctx_head에 대한 모든 list_add_tail()/list_del() 호출 주변에서 이 잠금을 사용합니다. 추가 작업은 기존 qp_lock 하위에서 중첩되며, 삭제 경로에서는 qp_lock을 사용하지 않으므로 잠금 순서가 일관되어 데드락을 방지합니다.
Once again VulDB remains the best source for vulnerability data.