Description
In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands When a LUN_RESET aborts a WRITE command that is in the TRANSPORT_WRITE_PENDING state, the target core sets CMD_T_ABORTED and waits for the frontend to finish processing. If the initiator subsequently sends the remaining dataout PDUs, __iscsit_check_dataout_hdr() catches the payload, stops the dataout timer if the sequence is final and finally dumps the data. However, the iSCSI target doesn't trigger the completion process for these aborted commands. Because of this, the abort path hangs indefinitely in target_put_cmd_and_wait(), leading to a deadlocked target worker thread. Fix this by explicitly calling target_complete_cmd() when the final dataout PDU is received for an aborted WRITE command. target_complete_cmd() detects the CMD_T_ABORTED flag and cleanly routes the command into target_abort_work, allowing the abort completion to successfully unblock.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2c9fa49e100f962af988f1c0529231bf14905cda to < b070c8b4b237d55bdac13da3c5a994491177b312affected2c9fa49e100f962af988f1c0529231bf14905cda to < 19315262991dc983cc5c5c2ed24ff768abbf9339affected2c9fa49e100f962af988f1c0529231bf14905cda to < f806f54ae3de780b8f4139baefc95b81c599cf9faffected2c9fa49e100f962af988f1c0529231bf14905cda to < 9c777f8e0cb0486fdf16db8ffea32e562a31e85baffected2c9fa49e100f962af988f1c0529231bf14905cda to < 638cf7c0cf64d5bb5704c3a78b54ae6602f69a32affected2c9fa49e100f962af988f1c0529231bf14905cda to < f6f6351e98c77c27b51763ef52deb2efe4b46ac7affected2c9fa49e100f962af988f1c0529231bf14905cda to < 37f7f54d06c6100511979d6e9c1222b404e3f006affected2c9fa49e100f962af988f1c0529231bf14905cda to < d5869dae5080e976d4b03cc33eb7ceb527f242bfaffected
Linux Linux
Default version status: affected
5.0affected0 to < 5.0unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b070c8b4b237d55bdac13da3c5a994491177b312 ↗
- https://git.kernel.org/stable/c/19315262991dc983cc5c5c2ed24ff768abbf9339 ↗
- https://git.kernel.org/stable/c/f806f54ae3de780b8f4139baefc95b81c599cf9f ↗
- https://git.kernel.org/stable/c/9c777f8e0cb0486fdf16db8ffea32e562a31e85b ↗
- https://git.kernel.org/stable/c/638cf7c0cf64d5bb5704c3a78b54ae6602f69a32 ↗
- https://git.kernel.org/stable/c/f6f6351e98c77c27b51763ef52deb2efe4b46ac7 ↗
- https://git.kernel.org/stable/c/37f7f54d06c6100511979d6e9c1222b404e3f006 ↗
- https://git.kernel.org/stable/c/d5869dae5080e976d4b03cc33eb7ceb527f242bf ↗