[linux] 01/03: block: ensure to split after potentially bouncing a bio (Closes: #809082)

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Sun Dec 27 04:28:26 UTC 2015


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 5db0f0e3076a9872e982c95c670462b81536aeef
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Sun Dec 27 04:18:37 2015 +0000

    block: ensure to split after potentially bouncing a bio (Closes: #809082)
---
 debian/changelog                                   |  1 +
 ...e-to-split-after-potentially-bouncing-a-b.patch | 39 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 41 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 1beea58..17bdf0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ linux (4.3.3-3) UNRELEASED; urgency=medium
 
   [ Ben Hutchings ]
   * [ppc64*] drm: Enable DRM_AST as module (Closes: #808338)
+  * block: ensure to split after potentially bouncing a bio (Closes: #809082)
 
   [ Salvatore Bonaccorso ]
   * ovl: fix permission checking for setattr (CVE-2015-8660)
diff --git a/debian/patches/bugfix/all/block-ensure-to-split-after-potentially-bouncing-a-b.patch b/debian/patches/bugfix/all/block-ensure-to-split-after-potentially-bouncing-a-b.patch
new file mode 100644
index 0000000..4aed0bc
--- /dev/null
+++ b/debian/patches/bugfix/all/block-ensure-to-split-after-potentially-bouncing-a-b.patch
@@ -0,0 +1,39 @@
+From: Junichi Nomura <j-nomura at ce.jp.nec.com>
+Date: Tue, 22 Dec 2015 10:23:44 -0700
+Subject: block: ensure to split after potentially bouncing a bio
+Origin: https://git.kernel.org/linus/23688bf4f830a89866fd0ed3501e342a7360fe4f
+Bug-Debian: https://bugs.debian.org/809082
+
+blk_queue_bio() does split then bounce, which makes the segment
+counting based on pages before bouncing and could go wrong. Move
+the split to after bouncing, like we do for blk-mq, and the we
+fix the issue of having the bio count for segments be wrong.
+
+Fixes: 54efd50bfd87 ("block: make generic_make_request handle arbitrarily sized bios")
+Cc: stable at vger.kernel.org
+Tested-by: Artem S. Tashkinov <t.artem at lycos.com>
+Signed-off-by: Jens Axboe <axboe at fb.com>
+---
+ block/blk-core.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -1616,8 +1616,6 @@ static void blk_queue_bio(struct request
+ 	struct request *req;
+ 	unsigned int request_count = 0;
+ 
+-	blk_queue_split(q, &bio, q->bio_split);
+-
+ 	/*
+ 	 * low level driver can indicate that it wants pages above a
+ 	 * certain limit bounced to low memory (ie for highmem, or even
+@@ -1625,6 +1623,8 @@ static void blk_queue_bio(struct request
+ 	 */
+ 	blk_queue_bounce(q, &bio);
+ 
++	blk_queue_split(q, &bio, q->bio_split);
++
+ 	if (bio_integrity_enabled(bio) && bio_integrity_prep(bio)) {
+ 		bio->bi_error = -EIO;
+ 		bio_endio(bio);
diff --git a/debian/patches/series b/debian/patches/series
index a993574..6b0ef05 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -106,3 +106,4 @@ bugfix/all/vrf-fix-double-free-and-memory-corruption-on-registe.patch
 bugfix/all/tipc-fix-kfree_skb-of-uninitialised-pointer.patch
 debian/armhf-sparc64-force-zone_dma-to-be-enabled.patch
 bugfix/all/ovl-fix-permission-checking-for-setattr.patch
+bugfix/all/block-ensure-to-split-after-potentially-bouncing-a-b.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list