[PATCH] scsi: sim710: put SCSI host on remove

Guangshuo Li posted 1 patch 6 days, 5 hours ago
drivers/scsi/sim710.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] scsi: sim710: put SCSI host on remove
Posted by Guangshuo Li 6 days, 5 hours ago
sim710_probe_common() obtains a SCSI host through NCR_700_detect().
The probe failure path drops the host reference with scsi_host_put(),
but the normal remove path does not perform the corresponding cleanup.

As a result, the SCSI host reference remains allocated after the
device is removed.

Call scsi_host_put() after all users of the SCSI host have been torn
down to release the reference acquired during probe.

This issue was found by manual code inspection.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
---
 drivers/scsi/sim710.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/sim710.c b/drivers/scsi/sim710.c
index 408f37003748..c3454e04c1e7 100644
--- a/drivers/scsi/sim710.c
+++ b/drivers/scsi/sim710.c
@@ -153,6 +153,7 @@ static int sim710_device_remove(struct device *dev)
 	kfree(hostdata);
 	free_irq(host->irq, host);
 	release_region(host->base, 64);
+	scsi_host_put(host);
 	return 0;
 }
 
-- 
2.43.0