summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch39
-rw-r--r--PKGBUILD11
3 files changed, 50 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index de1e75d4ebe2..11ef57a70723 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-xanmod
pkgver = 4.14.1
- pkgrel = 3
+ pkgrel = 4
url = http://www.xanmod.org/
arch = x86_64
license = GPL2
@@ -15,11 +15,13 @@ pkgbase = linux-xanmod
source = 90-linux.hook
source = linux-xanmod.preset
source = 0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch
+ source = 0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
sha256sums = 99ac106bc0970bfabab3400801fa85cf012f7ee85e18f24d5414d7bd82d10398
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
sha256sums = 6f1d9b6a119bfab150a0bc1f550609dd9290328df709b67c984f0a6b0abe8afd
+ sha256sums = 92b8755030d405fa4a9cd31cbe2998fd71584164431e5edc28c2be04fab24d1e
source_x86_64 = config::https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux&id=8aee2fcbaf3fe676199bde199f9074e90f736681
sha256sums_x86_64 = a68e94064f040d60e8e4c3380efeee085b54d252d527e960dd17ac688505d5b6
diff --git a/0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch b/0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
new file mode 100644
index 000000000000..c9f4a3a3a347
--- /dev/null
+++ b/0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch
@@ -0,0 +1,39 @@
+From 62530ed8b1d07a45dec94d46e521c0c6c2d476e6 Mon Sep 17 00:00:00 2001
+Message-Id: <62530ed8b1d07a45dec94d46e521c0c6c2d476e6.1511339979.git.jan.steffens@gmail.com>
+From: Michael Lyle <mlyle@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@lyle.org>
+Fixes: 74d46992e0d9 ("block: replace bi_bdev with a gendisk pointer and partitions index")
+Reported-by: Pavel Goran <via-bcache@pvgoran.name>
+Reported-by: Campbell Steven <casteven@gmail.com>
+Reviewed-by: Coly Li <colyli@suse.de>
+Reviewed-by: Ming Lei <ming.lei@redhat.com>
+Cc: <stable@vger.kernel.org> # 4.14
+Signed-off-by: Jens Axboe <axboe@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
+
diff --git a/PKGBUILD b/PKGBUILD
index 849925e72875..3deccfd1a902 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@ pkgbase=linux-xanmod
_srcname=linux
pkgver=4.14.1
xanmod=3
-pkgrel=3
+pkgrel=4
arch=('x86_64')
url="http://www.xanmod.org/"
license=('GPL2')
@@ -22,7 +22,8 @@ source=(https://github.com/xanmod/linux/archive/${pkgver}-xanmod${xanmod}.tar.gz
'60-linux.hook' # pacman hook for depmod
'90-linux.hook' # pacman hook for initramfs regeneration
"$pkgbase.preset" # standard config files for mkinitcpio ramdisk
- "0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch"
+ '0001-platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co.patch'
+ '0001-bio-ensure-__bio_clone_fast-copies-bi_partno.patch'
)
source_x86_64=("config::https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux&id=${arch_config_trunk}")
@@ -30,7 +31,8 @@ sha256sums=('99ac106bc0970bfabab3400801fa85cf012f7ee85e18f24d5414d7bd82d10398'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
- '6f1d9b6a119bfab150a0bc1f550609dd9290328df709b67c984f0a6b0abe8afd')
+ '6f1d9b6a119bfab150a0bc1f550609dd9290328df709b67c984f0a6b0abe8afd'
+ '92b8755030d405fa4a9cd31cbe2998fd71584164431e5edc28c2be04fab24d1e')
sha256sums_x86_64=('a68e94064f040d60e8e4c3380efeee085b54d252d527e960dd17ac688505d5b6')
_kernelname=${pkgbase#linux}
@@ -58,6 +60,9 @@ prepare() {
# 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
+
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile