aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/scsi/dpt_i2o.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2020-02-28 08:53:06 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2020-02-28 20:54:47 -0500
commit22f0ba4a2825f9cb87c142f7fcd3bf3d496ded0f (patch)
treea8555ad503724809b9bea35403d05fb8615ff3ce /drivers/scsi/dpt_i2o.c
parentscsi: core: use kobj_to_dev (diff)
downloadwireguard-linux-22f0ba4a2825f9cb87c142f7fcd3bf3d496ded0f.tar.xz
wireguard-linux-22f0ba4a2825f9cb87c142f7fcd3bf3d496ded0f.zip
scsi: dpt_i2o: rename adpt_i2o_to_scsi() to adpt_i2o_scsi_complete()
Rename the badly named function into adpt_i2o_scsi_complete(), and make it a void function as the return value is never used. This also fixes a potential use-after-free as the return value might be evaluated from the command result after the command has been freed. Link: https://lore.kernel.org/r/20200228075318.91255-2-hare@suse.de Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/dpt_i2o.c')
-rw-r--r--drivers/scsi/dpt_i2o.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index abc74fd474dc..c30ace9f251e 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -2173,7 +2173,7 @@ static irqreturn_t adpt_isr(int irq, void *dev_id)
readl(reply + 12) - 1);
if(cmd != NULL){
scsi_dma_unmap(cmd);
- adpt_i2o_to_scsi(reply, cmd);
+ adpt_i2o_scsi_complete(reply, cmd);
}
}
writel(m, pHba->reply_port);
@@ -2341,7 +2341,7 @@ static s32 adpt_scsi_host_alloc(adpt_hba* pHba, struct scsi_host_template *sht)
}
-static s32 adpt_i2o_to_scsi(void __iomem *reply, struct scsi_cmnd* cmd)
+static void adpt_i2o_scsi_complete(void __iomem *reply, struct scsi_cmnd *cmd)
{
adpt_hba* pHba;
u32 hba_status;
@@ -2459,7 +2459,6 @@ static s32 adpt_i2o_to_scsi(void __iomem *reply, struct scsi_cmnd* cmd)
if(cmd->scsi_done != NULL){
cmd->scsi_done(cmd);
}
- return cmd->result;
}