From: Greg Kroah-Hartman Date: Thu, 6 Jun 2019 19:51:13 +0000 (+0200) Subject: 4.19-stable patches X-Git-Tag: v5.1.8~9 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fkernel%2Fstable-queue.git;a=commitdiff_plain;h=64679a2da391121212eeafe66b005d1008a97bff 4.19-stable patches added patches: scsi-lpfc-fix-backport-of-faf5a744f4f8-scsi-lpfc-avoid-uninitialized-variable-warning.patch --- diff --git a/queue-4.19/scsi-lpfc-fix-backport-of-faf5a744f4f8-scsi-lpfc-avoid-uninitialized-variable-warning.patch b/queue-4.19/scsi-lpfc-fix-backport-of-faf5a744f4f8-scsi-lpfc-avoid-uninitialized-variable-warning.patch new file mode 100644 index 0000000000..351b10de2f --- /dev/null +++ b/queue-4.19/scsi-lpfc-fix-backport-of-faf5a744f4f8-scsi-lpfc-avoid-uninitialized-variable-warning.patch @@ -0,0 +1,48 @@ +From natechancellor@gmail.com Thu Jun 6 21:42:06 2019 +From: Nathan Chancellor +Date: Thu, 6 Jun 2019 10:41:25 -0700 +Subject: scsi: lpfc: Fix backport of faf5a744f4f8 ("scsi: lpfc: avoid uninitialized variable warning") +To: Greg Kroah-Hartman +Cc: Pavel Machek , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Arnd Bergmann , James Smart , "Martin K. Petersen" , Sasha Levin , Nathan Chancellor +Message-ID: <20190606174125.4277-1-natechancellor@gmail.com> + +From: Nathan Chancellor + +Prior to commit 4c47efc140fa ("scsi: lpfc: Move SCSI and NVME Stats to +hardware queue structures") upstream, we allocated a cstat structure in +lpfc_nvme_create_localport. When commit faf5a744f4f8 ("scsi: lpfc: avoid +uninitialized variable warning") was backported, it was placed after the +allocation so we leaked memory whenever this function was called and +that conditional was true (so whenever CONFIG_NVME_FC is disabled). + +Move the IS_ENABLED if statement above the allocation since it is not +needed when the condition is true. + +Reported-by: Pavel Machek +Signed-off-by: Nathan Chancellor +Reviewed-by: James Smart +Signed-off-by: Greg Kroah-Hartman +--- + drivers/scsi/lpfc/lpfc_nvme.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/scsi/lpfc/lpfc_nvme.c ++++ b/drivers/scsi/lpfc/lpfc_nvme.c +@@ -2477,14 +2477,14 @@ lpfc_nvme_create_localport(struct lpfc_v + lpfc_nvme_template.max_sgl_segments = phba->cfg_nvme_seg_cnt + 1; + lpfc_nvme_template.max_hw_queues = phba->cfg_nvme_io_channel; + ++ if (!IS_ENABLED(CONFIG_NVME_FC)) ++ return ret; ++ + cstat = kmalloc((sizeof(struct lpfc_nvme_ctrl_stat) * + phba->cfg_nvme_io_channel), GFP_KERNEL); + if (!cstat) + return -ENOMEM; + +- if (!IS_ENABLED(CONFIG_NVME_FC)) +- return ret; +- + /* localport is allocated from the stack, but the registration + * call allocates heap memory as well as the private area. + */ diff --git a/queue-4.19/series b/queue-4.19/series index 8430fccad5..a5cd9b963d 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -67,3 +67,4 @@ binder-fix-race-between-munmap-and-direct-reclaim.patch x86-ftrace-do-not-call-function-graph-from-dynamic-t.patch x86-ftrace-set-trampoline-pages-as-executable.patch x86-kprobes-set-instruction-page-as-executable.patch +scsi-lpfc-fix-backport-of-faf5a744f4f8-scsi-lpfc-avoid-uninitialized-variable-warning.patch