On 5/22/23 02:55, John Garry wrote:
On 19/05/2023 18:39, Bart Van Assche wrote:
*args->resid = scmd->resid_len; - if (args->sense) - memcpy(args->sense, scmd->sense_buffer, SCSI_SENSE_BUFFERSIZE); + if (args->sense) { + *args->sense = scmd->sense_buffer; + scmd->sense_buffer = NULL;
I think that you will agree that this is not a good pattern to follow. We cannot have SCSI core allocating the sense buffer but a driver freeing it.
Why not? Something similar can happen anywhere in the kernel anywhere reference counting is used.
Bart.