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

From: Long Li
Date: Wed May 10 2017 - 17:11:40 EST


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>
---
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