Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24268fd1 authored by Dan Carpenter's avatar Dan Carpenter Committed by Martin K. Petersen
Browse files

scsi: dpt_i2o: use after free in adpt_release()



The scsi_host_put() function frees "pHba" and then we dereference it on
the next line when we do "scsi_host_put(pHba->host);".

[mkp: included fix from hch]

Fixes: 38e09e3b ("scsi: dpt_i2o: stop using scsi_unregister")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 83c9f08e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -304,10 +304,12 @@ static int adpt_detect(struct scsi_host_template* sht)

static void adpt_release(adpt_hba *pHba)
{
	scsi_remove_host(pHba->host);
	struct Scsi_Host *shost = pHba->host;

	scsi_remove_host(shost);
//	adpt_i2o_quiesce_hba(pHba);
	adpt_i2o_delete_hba(pHba);
	scsi_host_put(pHba->host);
	scsi_host_put(shost);
}