From: James Smart <jsmart2021@gmail.com>
Date: Tue, 12 Apr 2022 15:19:46 -0700
Subject: scsi: lpfc: Zero SLI4 fcp_cmnd buffer's fcpCntl0 field
Patch-mainline: v5.19-rc1
Git-commit: 787d0580ca181d254f4dfd8b281cbea31120bde3
References: bsc#1200045
It's possible that the fcpCntl0 reserved field is allocated non-zero.
For certain target storage arrays this could cause problems expecting
reserved fields to be all zero.
SLI3 path already allocates fcp_cmnd buffer with dma_pool_zalloc() in
lpfc_new_scsi_buf_s3. The fcpCntl0 field itself is never proactively set
throughout the SCSI I/O path. Thus, we only change the SLI4 fcp_cmnd
buffer allocation to dma_pool_zalloc.
Link: https://lore.kernel.org/r/20220412222008.126521-5-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Daniel Wagner <dwagner@suse.de>
---
drivers/scsi/lpfc/lpfc_sli.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -22106,7 +22106,7 @@ lpfc_get_cmd_rsp_buf_per_hdwq(struct lpf
return NULL;
}
- tmp->fcp_cmnd = dma_pool_alloc(phba->lpfc_cmd_rsp_buf_pool,
+ tmp->fcp_cmnd = dma_pool_zalloc(phba->lpfc_cmd_rsp_buf_pool,
GFP_ATOMIC,
&tmp->fcp_cmd_rsp_dma_handle);