Justin Tee ccbc5d03c2 block: fix memleak of bio integrity data
[ Upstream commit ece841abbed2da71fa10710c687c9ce9efb6bf69 ]

7c20f11680a4 ("bio-integrity: stop abusing bi_end_io") moves
bio_integrity_free from bio_uninit() to bio_integrity_verify_fn()
and bio_endio(). This way looks wrong because bio may be freed
without calling bio_endio(), for example, blk_rq_unprep_clone() is
called from dm_mq_queue_rq() when the underlying queue of dm-mpath
is busy.

So memory leak of bio integrity data is caused by commit 7c20f11680a4.

Fixes this issue by re-adding bio_integrity_free() to bio_uninit().

Fixes: 7c20f11680a4 ("bio-integrity: stop abusing bi_end_io")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by Justin Tee <justin.tee@broadcom.com>

Add commit log, and simplify/fix the original patch wroten by Justin.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-26 10:01:09 +01:00
..
2019-09-06 14:33:52 -06:00
2019-09-06 14:33:52 -06:00
2020-01-26 10:01:09 +01:00
2019-07-09 10:45:06 -07:00
2019-09-27 11:40:21 -06:00
2020-01-26 10:01:09 +01:00
2019-10-14 13:54:09 -06:00
2019-07-15 09:20:27 -03:00
2019-08-28 21:17:12 -06:00
2019-07-15 09:20:27 -03:00
2019-08-28 21:17:12 -06:00
2019-09-23 08:05:19 -06:00