bio: fix page leak bio_add_hw_page failure
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 19 Jul 2021 10:53:00 +0000 (11:53 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 24 Aug 2021 14:04:58 +0000 (08:04 -0600)
commitd9cf3bd531844ffbfe94b16e417037a16efc988d
tree3f67cd309c9508be5de6a84c06621fa44fdc67c1
parentc4b2b7d150d2b155b317b3e2f66492c6befab2b5
bio: fix page leak bio_add_hw_page failure

__bio_iov_append_get_pages() doesn't put not appended pages on
bio_add_hw_page() failure, so potentially leaking them, fix it. Also, do
the same for __bio_iov_iter_get_pages(), even though it looks like it
can't be triggered by userspace in this case.

Fixes: 0512a75b98f8 ("block: Introduce REQ_OP_ZONE_APPEND")
Cc: stable@vger.kernel.org # 5.8+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/1edfa6a2ffd66d55e6345a477df5387d2c1415d0.1626653825.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c