OSDN Git Service

scsi: lpfc: Zero SLI4 fcp_cmnd buffer's fcpCntl0 field
authorJames Smart <jsmart2021@gmail.com>
Tue, 12 Apr 2022 22:19:46 +0000 (15:19 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Apr 2022 02:48:44 +0000 (22:48 -0400)
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>
drivers/scsi/lpfc/lpfc_sli.c

index 7c86271..28d8ded 100644 (file)
@@ -22117,7 +22117,7 @@ lpfc_get_cmd_rsp_buf_per_hdwq(struct lpfc_hba *phba,
                        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);