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
[DM Crypt]
[Fedora Desktop]
[ATA RAID]
[Fedora Marketing]
[Fedora Packaging]
[Fedora SELinux]
[Yosemite Discussion]
[Yosemite Photos]
[KDE Users]
[Fedora Tools]
[Fedora Docs]