[arch-commits] Commit in linux/trunk (2 files)
Jan Steffens
heftig at archlinux.org
Wed Nov 22 09:29:44 UTC 2017
Date: Wednesday, November 22, 2017 @ 09:29:43
Author: heftig
Revision: 310531
4.14.1-2
Added:
linux/trunk/0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
Modified:
linux/trunk/PKGBUILD
---------------------------------------------------------+
0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch | 39 ++++++++++++++
PKGBUILD | 9 ++-
2 files changed, 46 insertions(+), 2 deletions(-)
Added: 0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
===================================================================
--- 0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch (rev 0)
+++ 0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch 2017-11-22 09:29:43 UTC (rev 310531)
@@ -0,0 +1,39 @@
+From 62530ed8b1d07a45dec94d46e521c0c6c2d476e6 Mon Sep 17 00:00:00 2001
+Message-Id: <62530ed8b1d07a45dec94d46e521c0c6c2d476e6.1511339979.git.jan.steffens at gmail.com>
+From: Michael Lyle <mlyle at lyle.org>
+Date: Thu, 16 Nov 2017 23:47:25 -0800
+Subject: [PATCH] bio: ensure __bio_clone_fast copies bi_partno
+
+A new field was introduced in 74d46992e0d9, bi_partno, instead of using
+bdev->bd_contains and encoding the partition information in the bi_bdev
+field. __bio_clone_fast was changed to copy the disk information, but
+not the partition information. At minimum, this regressed bcache and
+caused data corruption.
+
+Signed-off-by: Michael Lyle <mlyle at lyle.org>
+Fixes: 74d46992e0d9 ("block: replace bi_bdev with a gendisk pointer and partitions index")
+Reported-by: Pavel Goran <via-bcache at pvgoran.name>
+Reported-by: Campbell Steven <casteven at gmail.com>
+Reviewed-by: Coly Li <colyli at suse.de>
+Reviewed-by: Ming Lei <ming.lei at redhat.com>
+Cc: <stable at vger.kernel.org> # 4.14
+Signed-off-by: Jens Axboe <axboe at kernel.dk>
+---
+ block/bio.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/block/bio.c b/block/bio.c
+index b94a802f8ba34189..459cc857f3d91647 100644
+--- a/block/bio.c
++++ b/block/bio.c
+@@ -597,6 +597,7 @@ void __bio_clone_fast(struct bio *bio, struct bio *bio_src)
+ * so we don't set nor calculate new physical/hw segment counts here
+ */
+ bio->bi_disk = bio_src->bi_disk;
++ bio->bi_partno = bio_src->bi_partno;
+ bio_set_flag(bio, BIO_CLONED);
+ bio->bi_opf = bio_src->bi_opf;
+ bio->bi_write_hint = bio_src->bi_write_hint;
+--
+2.15.0
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-11-22 05:27:54 UTC (rev 310530)
+++ PKGBUILD 2017-11-22 09:29:43 UTC (rev 310531)
@@ -6,7 +6,7 @@
#pkgbase=linux-custom # Build kernel with a different name
_srcname=linux-4.14
pkgver=4.14.1
-pkgrel=1
+pkgrel=2
arch=('x86_64')
url="https://www.kernel.org/"
license=('GPL2')
@@ -22,6 +22,7 @@
'90-linux.hook' # pacman hook for initramfs regeneration
'linux.preset' # standard config files for mkinitcpio ramdisk
'0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch'
+ '0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch'
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@@ -35,7 +36,8 @@
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
- '6f1d9b6a119bfab150a0bc1f550609dd9290328df709b67c984f0a6b0abe8afd')
+ '6f1d9b6a119bfab150a0bc1f550609dd9290328df709b67c984f0a6b0abe8afd'
+ '92b8755030d405fa4a9cd31cbe2998fd71584164431e5edc28c2be04fab24d1e')
_kernelname=${pkgbase#linux}
@@ -53,6 +55,9 @@
# https://bugs.archlinux.org/task/56207
patch -Np1 -i ../0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch
+ # https://bugs.archlinux.org/task/56404
+ patch -Np1 -i ../0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
+
cp -Tf ../config .config
if [ "${_kernelname}" != "" ]; then
More information about the arch-commits
mailing list