[dm-devel] [PATCH] dm-mpath: Clear map_context pointer when requeuing
Hannes Reinecke
hare at suse.de
Wed Nov 30 14:25:18 UTC 2011
When requeing a request we should be clearing the map_context
pointer, otherwise we might access an invalid memory location.
Cc: Mike Snitzer <snitzer at redhat.com>
Signed-off-by: Hannes Reinecke <hare at suse.de>
Tested-by: Heiko Carstens <heiko.carstens at de.ibm.com>
---
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;
}
--
1.6.0.2
More information about the dm-devel
mailing list