[PATCH 1/6] scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb()

Jeff Lane jeffrey.lane at canonical.com
Mon Oct 3 19:02:38 UTC 2022


From: James Smart <jsmart2021 at gmail.com>

BugLink: https://bugs.launchpad.net/bugs/1988711

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 at broadcom.com>
Signed-off-by: Justin Tee <justin.tee at broadcom.com>
Signed-off-by: James Smart <jsmart2021 at gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
(cherry picked from commit 4ecc9b0271a7623deabcbe8fcb39f065701d8f74)
Signed-off-by: Jeff Lane <jeffrey.lane at canonical.com>
---
 drivers/scsi/lpfc/lpfc_nvme.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/lpfc/lpfc_nvme.c b/drivers/scsi/lpfc/lpfc_nvme.c
index cd10ee6482fc..152245f7cacc 100644
--- a/drivers/scsi/lpfc/lpfc_nvme.c
+++ b/drivers/scsi/lpfc/lpfc_nvme.c
@@ -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. */
-- 
2.34.1




More information about the kernel-team mailing list