]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Apr 2019 12:01:27 +0000 (14:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Apr 2019 12:01:27 +0000 (14:01 +0200)
added patches:
block-do-not-leak-memory-in-bio_copy_user_iov.patch

queue-3.18/block-do-not-leak-memory-in-bio_copy_user_iov.patch [new file with mode: 0644]
queue-3.18/series

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 (file)
index 0000000..aa9efe7
--- /dev/null
@@ -0,0 +1,42 @@
+From a3761c3c91209b58b6f33bf69dd8bb8ec0c9d925 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse@redhat.com>
+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 <jglisse@redhat.com>
+
+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 <torvalds@linux-foundation.org>
+Cc: stable@vger.kernel.org
+Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
+Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;
index a373b3a46b306e71fdfea7a1bc1c3c35b1250972..aa5ccdc9c850c9f9d2c521117f03dab4fea8318b 100644 (file)
@@ -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