From: Wei Yongjun Date: Fri, 12 Oct 2012 15:59:42 +0000 (+0100) Subject: dm mpath: fix check for null mpio in end_io fn X-Git-Tag: firefly_0821_release~3680^2~1825^2~7 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;ds=inline;h=a71a261f5c39685698f7f1970dc7046b36e132d1;p=firefly-linux-kernel-4.4.55.git dm mpath: fix check for null mpio in end_io fn The mpio dereference should be moved below the BUG_ON NULL test in multipath_end_io(). spatch with a semantic match was used to found this. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun Signed-off-by: Alasdair G Kergon --- diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index d778563a4ffd..573bd04591bf 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c @@ -1309,13 +1309,14 @@ static int multipath_end_io(struct dm_target *ti, struct request *clone, { struct multipath *m = ti->private; struct dm_mpath_io *mpio = map_context->ptr; - struct pgpath *pgpath = mpio->pgpath; + struct pgpath *pgpath; struct path_selector *ps; int r; BUG_ON(!mpio); r = do_end_io(m, clone, error, mpio); + pgpath = mpio->pgpath; if (pgpath) { ps = &pgpath->pg->ps; if (ps->type->end_io)