Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A regression has been introduced in the Linux kernel SCSI core by a recent commit that modified how tag locking is handled. This regression affects the 'scsi_host_busy()' function, which is used to determine if a SCSI host is busy processing commands. The issue arises because the function now attempts to read the host's tag set before it has been properly initialized, leading to incorrect behavior. The regression has been observed in the UFS driver during the initialization of platform drivers for UFS Rockchip devices.
The regression causes the 'scsi_host_busy()' function to misbehave, potentially leading to incorrect management of SCSI host states. This could disrupt the normal operation of SCSI devices, particularly during initialization phases when the UFS driver is probing and setting up device states.
The regression can be reproduced by loading a platform driver that uses the UFS Rockchip integration. This will trigger the 'scsi_host_busy()' function before the SCSI host's tag set has been properly initialized, creating a call trace that reflects the missed synchronization.
The regression has been fixed in the Linux kernel stable tree. Users can apply the latest patches available in this repository to address the issue.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.