diff options
author | Christoph Hellwig <hch@lst.de> | 2019-06-17 11:14:12 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-06-17 09:33:04 -0600 |
commit | 4569180495600ac59f5cd27f67242a6cb51254f3 (patch) | |
tree | 5fc8de0946ff131ad03282d9bad310f29814a9b0 /drivers/net/wireless/broadcom/b43legacy | |
parent | ff896738be381efa6e50ba9a3b6cdc94f69ada42 (diff) | |
download | linux-4569180495600ac59f5cd27f67242a6cb51254f3.tar.bz2 |
block: fix page leak when merging to same page
When multiple iovecs reference the same page, each get_user_page call
will add a reference to the page. But once we've created the bio that
information gets lost and only a single reference will be dropped after
I/O completion. Use the same_page information returned from
__bio_try_merge_page to drop additional references to pages that were
already present in the bio.
Based on a patch from Ming Lei.
Link: https://lkml.org/lkml/2019/4/23/64
Fixes: 576ed913 ("block: use bio_add_page in bio_iov_iter_get_pages")
Reported-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/net/wireless/broadcom/b43legacy')
0 files changed, 0 insertions, 0 deletions