Tony, > 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-staging, thanks! -- Martin K. Petersen Oracle Linux Engineering