On Wed, 2011-11-30 at 15:25 +0100, Hannes Reinecke wrote: > When requeing a request we should be clearing the map_context > pointer, otherwise we might access an invalid memory location. > > Cc: Mike Snitzer <snitzer@xxxxxxxxxx> > Signed-off-by: Hannes Reinecke <hare@xxxxxxx> > Tested-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > --- > drivers/md/dm-mpath.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c > index 5e0090e..e6fad46 100644 > --- a/drivers/md/dm-mpath.c > +++ b/drivers/md/dm-mpath.c > @@ -920,8 +920,10 @@ static int multipath_map(struct dm_target *ti, struct request *clone, > map_context->ptr = mpio; > clone->cmd_flags |= REQ_FAILFAST_TRANSPORT; > r = map_io(m, clone, mpio, 0); > - if (r < 0 || r == DM_MAPIO_REQUEUE) > + if (r < 0 || r == DM_MAPIO_REQUEUE) { > mempool_free(mpio, m->mpio_pool); > + map_context->ptr = NULL; > + } > > return r; > } Ack. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel