diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-02-24 06:03:43 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-02-24 06:03:43 +0300 |
commit | 84e54c46b2f440a365a5224f1e5f173a462b7cca (patch) | |
tree | 09668bb0e36ce76575c5d52e1eca399b7235d64c | |
parent | 0ecdcd3a520b99287d0573df4feb43bdceb44b87 (diff) | |
parent | 4328daa2e79ed904a42ce00a9f38b9c36b44b21a (diff) | |
download | linux-84e54c46b2f440a365a5224f1e5f173a462b7cca.tar.xz |
Merge tag 'dm-4.5-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fix from Mike Snitzer:
"Fix a 112 byte leak for each IO request that is requeued while DM
multipath is handling faults due to path failures.
This leak does not happen if blk-mq DM multipath is used. It only
occurs if .request_fn DM multipath is stacked ontop of blk-mq paths
(e.g. scsi-mq devices)"
* tag 'dm-4.5-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
dm: fix dm_rq_target_io leak on faults with .request_fn DM w/ blk-mq paths
-rw-r--r-- | drivers/md/dm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 5df40480228b..dd834927bc66 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1191,6 +1191,8 @@ static void dm_unprep_request(struct request *rq) if (clone) free_rq_clone(clone); + else if (!tio->md->queue->mq_ops) + free_rq_tio(tio); } /* |