CVE-2026-89855: scsi: qla2xxx: Serialize flash version read in reset handler
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Serialize flash version read in reset handler
The "update cache versions without reset" sysfs reset operation (0x20261) calls getflashversion(), which reads hardware flash registers, without holding ha->optrommutex. The VPD update path serializes the same call under optrommutex, so this reset path can interleave its flash register accesses with a concurrent VPD or optrom flash operation and corrupt the reads.
Hold ha->optrommutex across the getflashversion() call to match the VPD update path.
Affected Software
Event History
Frequently Asked Questions
What conditions are required to trigger the issue?
The qla2xxx driver's “update cache versions without reset” sysfs reset operation (0x20261) must run concurrently with a VPD update or optrom flash operation. The race occurs because both paths access hardware flash registers, but the reset path does not serialize its get_flash_version() call with ha->optrom_mutex.
Which systems are exposed?
Systems using the Linux kernel qla2xxx SCSI driver are relevant. Exposure specifically depends on use of the affected sysfs reset operation together with concurrent VPD or optrom flash activity.
What can be done if the fix cannot be deployed immediately?
Avoid running the “update cache versions without reset” sysfs reset operation while VPD updates or optrom flash operations are in progress. Serializing those administrative operations prevents the conflicting flash-register accesses described in the vulnerability.
How can administrators determine whether the vulnerable path is being used?
Review whether the qla2xxx sysfs reset operation value 0x20261 is invoked and whether VPD update or optrom flash operations can occur at the same time. The issue is tied to concurrent use of those paths rather than to a standalone flash-version read.