Messages in this thread | | | Date | Sun, 21 May 2023 07:23:56 +0200 | Subject | Re: [PATCH] scsi: Let scsi_execute_cmd() mark args->sshdr as invalid | From | Juergen Gross <> |
| |
On 21.05.23 03:19, Martin K. Petersen wrote: > > John, > >> @Martin, Do you have any preference for what we do now? This code >> which does not check for error and does not pre-zero sshdr is >> longstanding, so I am not sure if Juergen's change is required for for >> v6.4. I'm thinking to fix callers for v6.5 and also maybe change the >> API, as I described. > > As I alluded to in the tracing thread, I'd like to see SK/ASC/ASCQ being > generally available in the scsi_cmnd results instead of all this sense > buffer and sense header micromanagement in every caller. That's a pretty > heavy lift, though. > > Short term we need all callers to be fixed up. I'm not a particularly > big fan of scsi_execute_cmd() zeroing something being passed in. I > wonder if it would be worth having a DECLARE_SENSE_HEADER()?
sshdr is output only data, so setting it before returning seems to be a sensible thing to do.
Letting the callers do that is kind of a layering violation IMHO, as this would spread the knowledge that scsi_execute_cmd() isn't setting its output data always.
In the end its your decision, of course.
Juergen [unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature] | |