On Mon, 11 Jul 2022 10:51:32 -0400, Tony Battersby wrote: > When a SCSI device is removed while in active use, currently sg will > immediately return -ENODEV on any attempt to wait for active commands > that were sent before the removal. This is problematic for commands > that use SG_FLAG_DIRECT_IO since the data buffer may still be in use by > the kernel when userspace frees or reuses it after getting ENODEV, > leading to corrupted userspace memory (in the case of READ-type > commands) or corrupted data being sent to the device (in the case of > WRITE-type commands). This has been seen in practice when logging out > of a iscsi_tcp session, where the iSCSI driver may still be processing > commands after the device has been marked for removal. > > [...] Applied to 5.20/scsi-queue, thanks! [1/1] sg: allow waiting for commands to complete on removed device https://git.kernel.org/mkp/scsi/c/3455607fd7be -- Martin K. Petersen Oracle Linux Engineering