From: Hannes Reinecke <hare@suse.de>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
Bart van Assche <bvanassche@acm.org>,
Balsundar P <balsundar.p@microchip.com>,
James Bottomley <james.bottomley@hansenpartnership.com>,
linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>,
Adaptec OEM Raid Solutions <aacraid@microsemi.com>
Subject: [PATCH 01/13] dpt_i2o: rename adpt_i2o_to_scsi() to adpt_i2o_scsi_complete()
Date: Wed, 4 Dec 2019 15:59:06 +0100 [thread overview]
Message-ID: <20191204145918.143134-2-hare@suse.de> (raw)
In-Reply-To: <20191204145918.143134-1-hare@suse.de>
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.
Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
drivers/scsi/dpt_i2o.c | 5 ++---
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);
--
2.16.4
next prev parent reply other threads:[~2019-12-04 14:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-04 14:59 [PATCHv6 00/13] scsi: remove legacy cmd_list implementation Hannes Reinecke
2019-12-04 14:59 ` Hannes Reinecke [this message]
2019-12-04 14:59 ` [PATCH 02/13] scsi: add scsi_host_complete_all_commands() helper Hannes Reinecke
2019-12-04 14:59 ` [PATCH 03/13] dpt_i2o: use scsi_host_complete_all_commands() to abort outstanding commands Hannes Reinecke
2019-12-04 14:59 ` [PATCH 04/13] aacraid: Do not wait for outstanding write commands on synchronize_cache Hannes Reinecke
2019-12-10 4:58 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 05/13] aacraid: use scsi_host_complete_all_commands() to terminate outstanding commands Hannes Reinecke
2019-12-10 4:58 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 06/13] aacraid: replace aac_flush_ios() with midlayer helper Hannes Reinecke
2019-12-10 4:59 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 07/13] aacraid: move scsi_(block,unblock)_requests out of _aac_reset_adapter() Hannes Reinecke
2019-12-10 5:00 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 08/13] scsi: add scsi_host_(block,unblock) helper function Hannes Reinecke
2019-12-04 14:59 ` [PATCH 09/13] aacraid: use scsi_host_(block,unblock) to block I/O Hannes Reinecke
2019-12-10 5:01 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 10/13] scsi: add scsi_host_busy_iter() Hannes Reinecke
2019-12-04 14:59 ` [PATCH 11/13] aacraid: use scsi_host_busy_iter() to wait for outstanding commands Hannes Reinecke
2019-12-10 5:01 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 12/13] aacraid: use scsi_host_busy_iter() in get_num_of_incomplete_fibs() Hannes Reinecke
2019-12-10 5:02 ` Balsundar.P
2019-12-04 14:59 ` [PATCH 13/13] scsi: Remove cmd_list functionality Hannes Reinecke
-- strict thread matches above, loose matches on Subject: below --
2020-02-13 14:04 [PATCHv7 00/13] scsi: remove legacy cmd_list implementation Hannes Reinecke
2020-02-13 14:04 ` [PATCH 01/13] dpt_i2o: rename adpt_i2o_to_scsi() to adpt_i2o_scsi_complete() Hannes Reinecke
2020-02-28 7:53 [PATCHv8 00/13] scsi: remove legacy cmd_list implementation Hannes Reinecke
2020-02-28 7:53 ` [PATCH 01/13] dpt_i2o: rename adpt_i2o_to_scsi() to adpt_i2o_scsi_complete() Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191204145918.143134-2-hare@suse.de \
--to=hare@suse.de \
--cc=aacraid@microsemi.com \
--cc=balsundar.p@microchip.com \
--cc=bvanassche@acm.org \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.