RE: [PATCH] scsi: zero per-cmd driver data for each MQ I/O

From: Long Li
Date: Mon May 15 2017 - 18:48:23 EST


> -----Original Message-----
> From: Long Li [mailto:longli@xxxxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, May 10, 2017 2:07 PM
> To: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxxxx>; Martin K. Petersen
> <martin.petersen@xxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: Long Li <longli@xxxxxxxxxxxxx>
> Subject: [PATCH] scsi: zero per-cmd driver data for each MQ I/O
>
> From: Long Li <longli@xxxxxxxxxxxxx>
>
> Lower layer driver may not initialize private data before use. Zero them out
> to prevent use of stale data.
>
> Signed-off-by: Long Li <longli@xxxxxxxxxxxxx>

Can someone help review this patch?

> ---
> drivers/scsi/scsi_lib.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index
> 19125d7..a821593 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1850,7 +1850,7 @@ static int scsi_mq_prep_fn(struct request *req)
>
> /* zero out the cmd, except for the embedded scsi_request */
> memset((char *)cmd + sizeof(cmd->req), 0,
> - sizeof(*cmd) - sizeof(cmd->req));
> + sizeof(*cmd) - sizeof(cmd->req) +
> + shost->hostt->cmd_size);
>
> req->special = cmd;
>
> --
> 2.7.4