CVE-2026-97527 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
scsi: qla2xxx : Synchroniser la liste des contextes unsol NVMe à l'aide d'un verrou par fcport
La liste fcport->unsol_ctx_head est modifiée depuis plusieurs contextes sans verrou commun. Les entrées sont ajoutées dans qla2xxx_process_purls_iocb() depuis le gestionnaire d'interruption (ISR) de la file de réponse (sous le qp_lock du qpair), tandis qu'elles sont supprimées depuis qla2xxx_process_purls_pkt() (travailleur DPC/purex), qla_nvme_xmt_ls_rsp() (callback de transport NVMe-FC) et qla_nvme_release_lsrsp_cmd_kref() (achèvement SRB). Le qp_lock du qpair ne peut pas synchroniser cette liste par fcport, car les adaptateurs à files multiples ajoutent des entrées via différents qpairs ; une opération d'ajout et de suppression simultanée (ou deux suppressions simultanées) peut corrompre les pointeurs de la liste.
Introduire un spinlock dédié par fcport, unsol_ctx_lock, initialisé dans qla2x00_alloc_fcport(), et l'utiliser autour de chaque list_add_tail()/list_del() sur unsol_ctx_head. L'ajout s'enchaîne sous le qp_lock existant ; aucune voie de suppression n'utilise le qp_lock, donc l'ordre des verrous est cohérent et sans risque d'inversion de死锁 (deadlock).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.