Messages in this thread Patch in this message | | | From | Zhouyang Jia <> | Subject | [PATCH] scsi: qla4xxx: add error handling for try_module_get | Date | Tue, 12 Jun 2018 12:48:29 +0800 |
| |
When try_module_get fails, the lack of error-handling code may cause unexpected results.
This patch adds error-handling code after calling try_module_get.
Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com> --- drivers/scsi/qla4xxx/ql4_os.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 0e13349..6b677ab 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -7687,7 +7687,10 @@ static int qla4xxx_sysfs_ddb_logout_sid(struct iscsi_cls_session *cls_sess) * to be seamless without actually destroying the * session **/ - try_module_get(qla4xxx_iscsi_transport.owner); + if (!try_module_get(qla4xxx_iscsi_transport.owner)) + ql4_printk(KERN_WARNING, ha, + "%s: cannot get module.\n", __func__); + iscsi_destroy_endpoint(ddb_entry->conn->ep); spin_lock_irqsave(&ha->hardware_lock, flags); @@ -8970,7 +8973,9 @@ static void qla4xxx_destroy_fw_ddb_session(struct scsi_qla_host *ha) * to be seamless without actually destroying the * session **/ - try_module_get(qla4xxx_iscsi_transport.owner); + if (!try_module_get(qla4xxx_iscsi_transport.owner)) + ql4_printk(KERN_WARNING, ha, + "%s: cannot get module.\n", __func__); iscsi_destroy_endpoint(ddb_entry->conn->ep); qla4xxx_free_ddb(ha, ddb_entry); iscsi_session_teardown(ddb_entry->sess); -- 2.7.4
| |