From: Greg Kroah-Hartman Date: Mon, 15 Apr 2019 12:01:27 +0000 (+0200) Subject: 3.18-stable patches X-Git-Tag: v4.9.169~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d077f5117aae836e58d83e6ef70fa1dcc006e57e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: block-do-not-leak-memory-in-bio_copy_user_iov.patch --- diff --git a/queue-3.18/block-do-not-leak-memory-in-bio_copy_user_iov.patch b/queue-3.18/block-do-not-leak-memory-in-bio_copy_user_iov.patch new file mode 100644 index 00000000000..aa9efe78a58 --- /dev/null +++ b/queue-3.18/block-do-not-leak-memory-in-bio_copy_user_iov.patch @@ -0,0 +1,42 @@ +From a3761c3c91209b58b6f33bf69dd8bb8ec0c9d925 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= +Date: Wed, 10 Apr 2019 16:27:51 -0400 +Subject: block: do not leak memory in bio_copy_user_iov() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Jérôme Glisse + +commit a3761c3c91209b58b6f33bf69dd8bb8ec0c9d925 upstream. + +When bio_add_pc_page() fails in bio_copy_user_iov() we should free +the page we just allocated otherwise we are leaking it. + +Cc: linux-block@vger.kernel.org +Cc: Linus Torvalds +Cc: stable@vger.kernel.org +Reviewed-by: Chaitanya Kulkarni +Signed-off-by: Jérôme Glisse +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman + +--- + block/bio.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/block/bio.c ++++ b/block/bio.c +@@ -1217,8 +1217,11 @@ struct bio *bio_copy_user_iov(struct req + } + } + +- if (bio_add_pc_page(q, bio, page, bytes, offset) < bytes) ++ if (bio_add_pc_page(q, bio, page, bytes, offset) < bytes) { ++ if (!map_data) ++ __free_page(page); + break; ++ } + + len -= bytes; + offset = 0; diff --git a/queue-3.18/series b/queue-3.18/series index a373b3a46b3..aa5ccdc9c85 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -51,3 +51,4 @@ net-ethtool-not-call-vzalloc-for-zero-sized-memory-request.patch ip6_tunnel-match-to-arphrd_tunnel6-for-dev-type.patch alsa-seq-fix-oob-reads-from-strlcpy.patch asoc-fsl_esai-fix-channel-swap-issue-when-stream-starts.patch +block-do-not-leak-memory-in-bio_copy_user_iov.patch