Message ID | 20200623084122.30633-1-sjpark@amazon.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 46da547e21d6cefceec3fb3dba5ebbca056627fc |
Headers | show |
Series | scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() | expand |
On 6/23/2020 1:41 AM, SeongJae Park wrote: > From: SeongJae Park <sjpark@amazon.de> > > Commit cdb42becdd40 ("scsi: lpfc: Replace io_channels for nvme and fcp > with general hdw_queues per cpu") has introduced static checker warnings > for potential null dereferences in 'lpfc_sli4_hba_unset()' and > commit 1ffdd2c0440d ("scsi: lpfc: resolve static checker warning in > lpfc_sli4_hba_unset") has tried to fix it. However, yet another > potential null dereference is remaining. This commit fixes it. > > This bug was discovered and resolved using Coverity Static Analysis > Security Testing (SAST) by Synopsys, Inc. > > Fixes: 1ffdd2c0440d ("scsi: lpfc: resolve static checker warning inlpfc_sli4_hba_unset") > Fixes: cdb42becdd40 ("scsi: lpfc: Replace io_channels for nvme and fcp with general hdw_queues per cpu") > Signed-off-by: SeongJae Park <sjpark@amazon.de> > --- > drivers/scsi/lpfc/lpfc_init.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c > index 69a5249e007a..6637f84a3d1b 100644 > --- a/drivers/scsi/lpfc/lpfc_init.c > +++ b/drivers/scsi/lpfc/lpfc_init.c > @@ -11878,7 +11878,8 @@ lpfc_sli4_hba_unset(struct lpfc_hba *phba) > lpfc_sli4_xri_exchange_busy_wait(phba); > > /* per-phba callback de-registration for hotplug event */ > - lpfc_cpuhp_remove(phba); > + if (phba->pport) > + lpfc_cpuhp_remove(phba); > > /* Disable PCI subsystem interrupt */ > lpfc_sli4_disable_intr(phba); Reviewed-by: James Smart <james.smart@broadcom.com> -- james
On Tue, 23 Jun 2020 10:41:22 +0200, SeongJae Park wrote: > Commit cdb42becdd40 ("scsi: lpfc: Replace io_channels for nvme and fcp > with general hdw_queues per cpu") has introduced static checker warnings > for potential null dereferences in 'lpfc_sli4_hba_unset()' and > commit 1ffdd2c0440d ("scsi: lpfc: resolve static checker warning in > lpfc_sli4_hba_unset") has tried to fix it. However, yet another > potential null dereference is remaining. This commit fixes it. > > [...] Applied to 5.8/scsi-fixes, thanks! [1/1] scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() https://git.kernel.org/mkp/scsi/c/46da547e21d6
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 69a5249e007a..6637f84a3d1b 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -11878,7 +11878,8 @@ lpfc_sli4_hba_unset(struct lpfc_hba *phba) lpfc_sli4_xri_exchange_busy_wait(phba); /* per-phba callback de-registration for hotplug event */ - lpfc_cpuhp_remove(phba); + if (phba->pport) + lpfc_cpuhp_remove(phba); /* Disable PCI subsystem interrupt */ lpfc_sli4_disable_intr(phba);