[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