]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.8-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Dec 2016 07:41:40 +0000 (08:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Dec 2016 07:41:40 +0000 (08:41 +0100)
added patches:
don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch

queue-4.8/don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch [new file with mode: 0644]
queue-4.8/series

diff --git a/queue-4.8/don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch b/queue-4.8/don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch
new file mode 100644 (file)
index 0000000..65ffd95
--- /dev/null
@@ -0,0 +1,42 @@
+From a0ac402cfcdc904f9772e1762b3fda112dcc56a0 Mon Sep 17 00:00:00 2001
+From: Linus Torvalds <torvalds@linux-foundation.org>
+Date: Tue, 6 Dec 2016 16:18:14 -0800
+Subject: Don't feed anything but regular iovec's to blk_rq_map_user_iov
+
+From: Linus Torvalds <torvalds@linux-foundation.org>
+
+commit a0ac402cfcdc904f9772e1762b3fda112dcc56a0 upstream.
+
+In theory we could map other things, but there's a reason that function
+is called "user_iov".  Using anything else (like splice can do) just
+confuses it.
+
+Reported-and-tested-by: Johannes Thumshirn <jthumshirn@suse.de>
+Cc: Al Viro <viro@ZenIV.linux.org.uk>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ block/blk-map.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/block/blk-map.c
++++ b/block/blk-map.c
+@@ -118,6 +118,9 @@ int blk_rq_map_user_iov(struct request_q
+       struct iov_iter i;
+       int ret;
++      if (!iter_is_iovec(iter))
++              goto fail;
++
+       if (map_data)
+               copy = true;
+       else if (iov_iter_alignment(iter) & align)
+@@ -140,6 +143,7 @@ int blk_rq_map_user_iov(struct request_q
+ unmap_rq:
+       __blk_rq_unmap_user(bio);
++fail:
+       rq->bio = NULL;
+       return -EINVAL;
+ }
index 4e4e37a9be2bf4932c69c6707ca7a8ef71459667..58ad3d5f5b8b3693f607113adac4d50c006e4e6a 100644 (file)
@@ -35,3 +35,4 @@ ipv4-drop-suffix-update-from-resize-code.patch
 sparc64-fix-find_node-warning-if-numa-node-cannot-be-found.patch
 sparc64-fix-compile-warning-section-mismatch-in-find_node.patch
 sparc32-fix-inverted-invalid_frame_pointer-checks-on-sigreturns.patch
+don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch