RE: [PATCH] scsi: qla4xxx: add error handling for try_module_get

From: Rangankar, Manish
Date: Tue Jun 12 2018 - 03:52:34 EST



> -----Original Message-----
> From: Zhouyang Jia <jiazhouyang09@xxxxxxxxx>
> Sent: Tuesday, June 12, 2018 10:18 AM
> Cc: Zhouyang Jia <jiazhouyang09@xxxxxxxxx>; Dept-Eng QLogic Storage
> Upstream <QLogic-Storage-Upstream@xxxxxxxxxx>; James E.J. Bottomley
> <jejb@xxxxxxxxxxxxxxxxxx>; Martin K. Petersen <martin.petersen@xxxxxxxxxx>;
> linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] scsi: qla4xxx: add error handling for try_module_get
>
> 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@xxxxxxxxx>
> ---
> 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

Thanks,

Acked-by: Manish Rangankar <Manish.Rangankar@xxxxxxxxxx>