UBUNTU-CVE-2026-93781: Medium severity ubuntu/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: scsi: core: Do not block on tag allocation in scsiehlockdoor() scsiehlockdoor() is called from scsirestartoperations() while the host is still in the SHOSTRECOVERY state, i.e. before the host is switched back to SHOSTRUNNING and scsirunhostqueues() restarts the queues. It allocates a request via scsiallocrequest() with no flags, so blkmqgettag() may block waiting for a free sched tag when all tags are already in use. Those tags can be held by commands that were just requeued by scsiehflushdoneq() during error handling. Such commands cannot be dispatched until the host leaves SHOSTRECOVERY and scsirunhostqueues() is called - which only happens after scsiehlockdoor() returns. This forms a circular dependency: - scsiehlockdoor(), running in the SCSI error handler thread, waits for a sched tag held by a requeued command; - the requeued command cannot complete and release its sched tag until the error handler thread leaves scsirestartoperations() and restart the queues. For devices with a single driver tag (e.g. USB storage) it is a guaranteed deadlock and I/O that can never be submitted. This problem has also been reproduced in our environment. Locking the door is a best-effort operation, and scsiehlockdoor() already returns silently when the request allocation fails. Pass BLKMQREQNOWAIT to scsiallocrequest() so the allocation fails instead of blocking when no tag is available. This breaks the circular dependency and allows the error handler to finish restarting the queues, after which the pending commands are dispatched normally.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1