diff options
author | Hannes Reinecke <hare@suse.de> | 2020-02-28 10:53:06 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-02-29 04:54:47 +0300 |
commit | 22f0ba4a2825f9cb87c142f7fcd3bf3d496ded0f (patch) | |
tree | a8555ad503724809b9bea35403d05fb8615ff3ce | |
parent | 9e7bd945b9a95267872099c03a00e134951062c0 (diff) | |
download | linux-22f0ba4a2825f9cb87c142f7fcd3bf3d496ded0f.tar.xz |
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>
-rw-r--r-- | drivers/scsi/dpt_i2o.c | 5 | ||||
-rw-r--r-- | drivers/scsi/dpti.h | 2 |
2 files changed, 3 insertions, 4 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; } diff --git a/drivers/scsi/dpti.h b/drivers/scsi/dpti.h index 42b1e28b5884..3ec391134bb0 100644 --- a/drivers/scsi/dpti.h +++ b/drivers/scsi/dpti.h @@ -286,7 +286,7 @@ static s32 adpt_i2o_status_get(adpt_hba* pHba); static s32 adpt_i2o_init_outbound_q(adpt_hba* pHba); static s32 adpt_i2o_hrt_get(adpt_hba* pHba); static s32 adpt_scsi_to_i2o(adpt_hba* pHba, struct scsi_cmnd* cmd, struct adpt_device* dptdevice); -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); static s32 adpt_scsi_host_alloc(adpt_hba* pHba,struct scsi_host_template * sht); static s32 adpt_hba_reset(adpt_hba* pHba); static s32 adpt_i2o_reset_hba(adpt_hba* pHba); |