Messages in this thread | | | Subject | Re: [PATCH] drivers:block:mtip32xx:mtip32xx:change the order of null-pointer dereference validation | From | Jens Axboe <> | Date | Tue, 25 Apr 2017 23:13:43 -0700 |
| |
On 04/25/2017 06:30 PM, Heloise wrote: > Signed-off-by: Heloise <os@iscas.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;
Doesn't matter, since 'dd' isn't dereferenced before checking if 'port' is NULL.
-- Jens Axboe
| |