| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.8 39/92] scsi: scsi_dh_alua: fix missing kref_put() in alua_rtpg_work() | Date | Thu, 17 Nov 2016 11:32:12 +0100 |
| |
4.8-stable review patch. If anyone has any objections, please let me know.
------------------
From: tang.junhui <tang.junhui@zte.com.cn>
commit 1fdd14279eab2e9f79745631379f0c53cb8f9a5a upstream.
Reference count of pg leaks in alua_rtpg_work() since kref_put() is not called to decrease the reference count of pg when the condition pg->rtpg_sdev==NULL satisfied (actually it is easy to satisfy), it would cause memory of pg leakage.
Signed-off-by: tang.junhui <tang.junhui@zte.com.cn> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/scsi/device_handler/scsi_dh_alua.c | 1 + 1 file changed, 1 insertion(+)
--- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -792,6 +792,7 @@ static void alua_rtpg_work(struct work_s WARN_ON(pg->flags & ALUA_PG_RUN_RTPG); WARN_ON(pg->flags & ALUA_PG_RUN_STPG); spin_unlock_irqrestore(&pg->lock, flags); + kref_put(&pg->kref, release_port_group); return; } if (pg->flags & ALUA_SYNC_STPG)
|