scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb()
authorJames Smart <jsmart2021@gmail.com>
Fri, 1 Jul 2022 21:14:14 +0000 (14:14 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Jul 2022 21:21:42 +0000 (17:21 -0400)
In lpfc_nvme_cancel_iocb(), a cqe is created locally from stack storage.
The code didn't initialize the total_data_placed word, inheriting stack
content.

Initialize the total_data_placed word.

Link: https://lore.kernel.org/r/20220701211425.2708-2-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_nvme.c

index cd10ee6..152245f 100644 (file)
@@ -2824,6 +2824,7 @@ lpfc_nvme_cancel_iocb(struct lpfc_hba *phba, struct lpfc_iocbq *pwqeIn,
        wcqep->word0 = 0;
        bf_set(lpfc_wcqe_c_status, wcqep, stat);
        wcqep->parameter = param;
+       wcqep->total_data_placed = 0;
        wcqep->word3 = 0; /* xb is 0 */
 
        /* Call release with XB=1 to queue the IO into the abort list. */