[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 25 Apr 2017 18:30:16 -0700
From: Heloise <os@...as.ac.cn>
To: axboe@...com, hare@...e.com, jthumshirn@...e.de,
keith.busch@...el.com, ming.lei@...hat.com, bianpan2016@....com,
dan.j.williams@...el.com, sachin.s5@...sung.com,
baoyou.xie@...aro.org
Cc: linux-kernel@...r.kernel.org, Heloise <os@...as.ac.cn>
Subject: [PATCH] drivers:block:mtip32xx:mtip32xx:change the order of null-pointer dereference validation
Signed-off-by: Heloise <os@...as.ac.cn>
mtip_async_complete() uses the variable port 'port->dd'at the begining, then
validates null-pointer dereference of port 'unlikely(!port)'. Change the order
of validation.
---
drivers/block/mtip32xx/mtip32xx.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 1d1dc11..feed61a 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -228,10 +228,13 @@ static struct mtip_cmd *mtip_cmd_from_tag(struct driver_data *dd,
static void mtip_async_complete(struct mtip_port *port,
int tag, struct mtip_cmd *cmd, int status)
{
+ if (unlikely(!port))
+ return;
+
struct driver_data *dd = port->dd;
struct request *rq;
- if (unlikely(!dd) || unlikely(!port))
+ if (unlikely(!dd))
return;
if (unlikely(status == PORT_IRQ_TF_ERR)) {
--
2.1.0
Powered by blists - more mailing lists