[PATCH 1/1] scsi: esas2r: fix unchecked return value
Function pci_enable_device() returns a negative errno on failure, and its return value should be validated. In function esas2r_resume(), its return value is ignored. This patch fixes the bug. Signed-off-by: Pan Bian--- drivers/scsi/esas2r/esas2r_init.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/esas2r/esas2r_init.c b/drivers/scsi/esas2r/esas2r_init.c index 6432a50..f482664 100644 --- a/drivers/scsi/esas2r/esas2r_init.c +++ b/drivers/scsi/esas2r/esas2r_init.c @@ -728,6 +728,8 @@ int esas2r_resume(struct pci_dev *pdev) esas2r_log_dev(ESAS2R_LOG_INFO, &(pdev->dev), "pci_enable_device() called"); rez = pci_enable_device(pdev); + if (rez) + goto error_exit; pci_set_master(pdev); if (!a) { -- 1.9.1
[Bug 195489] New: esas2r: unchecked return value of pci_enable_device() in function esas2r_resume()
https://bugzilla.kernel.org/show_bug.cgi?id=195489 Bug ID: 195489 Summary: esas2r: unchecked return value of pci_enable_device() in function esas2r_resume() Product: SCSI Drivers Version: 2.5 Kernel Version: linux-4.11-rc7 Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Other Assignee: scsi_drivers-ot...@kernel-bugs.osdl.org Reporter: bianpan2...@ruc.edu.cn Regression: No In file drivers/scsi/esas2r/esas2r_init.c, function esas2r_resume() calls the function pci_enable_device() (at line 730), but forget to detect its return value. The function pci_enable_device() will return a negative value on errors. The return value should be validated before continuing. The related code snippet is shown as follows. esas2r_resume @@ drivers/scsi/esas2r/esas2r_init.c: 710 710 int esas2r_resume(struct pci_dev *pdev) 711 { 712 struct Scsi_Host *host = pci_get_drvdata(pdev); ... 730 rez = pci_enable_device(pdev); 731 pci_set_master(pdev); 732 733 if (!a) { 734 rez = -ENODEV; 735 goto error_exit; 736 } ... 774 error_exit: 775 esas2r_log_dev(ESAS2R_LOG_CRIT, &(pdev->dev), "esas2r_resume(): %d", 776rez); 777 return rez; 778 } Generally, the function pci_enable_device() is called in the following way. ide_pci_resume @@ drivers/ide/setup-pci.c: 645 645 int ide_pci_resume(struct pci_dev *dev) 646 { 647 struct ide_host *host = pci_get_drvdata(dev); 648 int rc; 649 650 pci_set_power_state(dev, PCI_D0); 651 652 rc = pci_enable_device(dev); 653 if (rc) 654 return rc; 655 656 pci_restore_state(dev); 657 pci_set_master(dev); 658 659 if (host->init_chipset) 660 host->init_chipset(dev); 661 662 return 0; 663 } Thanks for your attention! Pan Bian -- You are receiving this mail because: You are watching the assignee of the bug.
[PATCH] scsi: fusion: fix spelling mistake: "Persistancy" -> "Persistency"
From: Colin Ian Kingtrivial fix to spelling mistake Signed-off-by: Colin Ian King --- drivers/message/fusion/mptbase.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 1e73064b0fb2..62cff5afc6bd 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -7396,7 +7396,7 @@ mpt_display_event_info(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply) break; case MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED: snprintf(evStr, EVENT_DESCR_STR_SZ, - "SAS Device Status Change: No Persistancy: " + "SAS Device Status Change: No Persistency: " "id=%d channel=%d", id, channel); break; case MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED: -- 2.11.0