一线运维实战手记 · 云计算 · 数据库 · 故障排查
2026年9月16日

CVE-2026-89861 – In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Hold v

未分类
📑 文章目录

In the Linux kernel, the following vulnerability has been resolved:

scsi: qla2xxx: Hold vport reference in qla24xx_report_id_acquisition()

In the format 1 path, the virtual port is located on ha->vp_list while
holding vport_slock, but the lock is dropped before vp is used:
qla_update_host_map() is called and VP_IDX_ACQUIRED/REGISTER_FC4_NEEDED/
REGISTER_FDMI_NEEDED are set on vp. No reference is taken across that
window, so a concurrent qla24xx_deallocate_vp_id() can tear the vport
down and free it, leading to a use-after-free.

Take a vport reference (vref_count) under vport_slock when the matching
vp is found, and drop it after the last use of
vp. qla24xx_deallocate_vp_id() waits for vref_count to reach zero before
unlinking and freeing the vport, so the pointer stays valid. This
matches the reference idiom already used by the other ha->vp_list
traversals.