[kernel] r22673 - in dists/sid/linux/debian: . patches patches/bugfix/all
Ben Hutchings
benh at moszumanska.debian.org
Sat May 23 00:30:31 UTC 2015
Author: benh
Date: Sat May 23 00:30:31 2015
New Revision: 22673
Log:
md/raid0: fix restore to sector variable in raid0_make_request (Closes: #786372) (regression in 4.0.2)
Added:
dists/sid/linux/debian/patches/bugfix/all/md-raid0-fix-restore-to-sector-variable-in-raid0_make_request.patch
Modified:
dists/sid/linux/debian/changelog
dists/sid/linux/debian/patches/series
Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog Sat May 23 00:28:53 2015 (r22672)
+++ dists/sid/linux/debian/changelog Sat May 23 00:30:31 2015 (r22673)
@@ -143,6 +143,8 @@
- Change USB_XHCI_HCD to built-in and enable USB_XHCI_PLATFORM as built-in
- Make xhci platform driver use 64 bit or 32 bit DMA
- Add support for ACPI identification to xhci-platform
+ * md/raid0: fix restore to sector variable in raid0_make_request
+ (Closes: #786372) (regression in 4.0.2)
-- Ben Hutchings <ben at decadent.org.uk> Mon, 18 May 2015 00:00:06 +0100
Added: dists/sid/linux/debian/patches/bugfix/all/md-raid0-fix-restore-to-sector-variable-in-raid0_make_request.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/all/md-raid0-fix-restore-to-sector-variable-in-raid0_make_request.patch Sat May 23 00:30:31 2015 (r22673)
@@ -0,0 +1,46 @@
+From: Eric Work <work.eric at gmail.com>
+Date: Mon, 18 May 2015 23:26:23 -0700
+Subject: md/raid0: fix restore to sector variable in raid0_make_request
+Origin: http://git.neil.brown.name/?p=md.git;a=commitdiff;h=a81157768a00e8cf8a7b43b5ea5cac931262374f
+Bug: https://bugzilla.kernel.org/show_bug.cgi?id=98501
+Bug-Debian: https://bugs.debian.org/786372
+
+The variable "sector" in "raid0_make_request()" was improperly updated
+by a call to "sector_div()" which modifies its first argument in place.
+Commit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd restored this variable
+after the call for later re-use. Unfortunetly the restore was done after
+the referenced variable "bio" was advanced. This lead to the original
+value and the restored value being different. Here we move this line to
+the proper place.
+
+One observed side effect of this bug was discarding a file though
+unlinking would cause an unrelated file's contents to be discarded.
+
+Signed-off-by: NeilBrown <neilb at suse.de>
+Fixes: 47d68979cc96 ("md/raid0: fix bug with chunksize not a power of 2.")
+Cc: stable at vger.kernel.org (any that received above backport)
+URL: https://bugzilla.kernel.org/show_bug.cgi?id=98501
+---
+ drivers/md/raid0.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/md/raid0.c
++++ b/drivers/md/raid0.c
+@@ -517,6 +517,9 @@ static void raid0_make_request(struct md
+ ? (sector & (chunk_sects-1))
+ : sector_div(sector, chunk_sects));
+
++ /* Restore due to sector_div */
++ sector = bio->bi_iter.bi_sector;
++
+ if (sectors < bio_sectors(bio)) {
+ split = bio_split(bio, sectors, GFP_NOIO, fs_bio_set);
+ bio_chain(split, bio);
+@@ -524,7 +527,6 @@ static void raid0_make_request(struct md
+ split = bio;
+ }
+
+- sector = bio->bi_iter.bi_sector;
+ zone = find_zone(mddev->private, §or);
+ tmp_dev = map_sector(mddev, zone, sector, §or);
+ split->bi_bdev = tmp_dev->bdev;
Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series Sat May 23 00:28:53 2015 (r22672)
+++ dists/sid/linux/debian/patches/series Sat May 23 00:30:31 2015 (r22673)
@@ -70,4 +70,5 @@
bugfix/all/rtc-hctosys-use-function-name-in-the-error-log.patch
features/arm64/usb-make-xhci-platform-driver-use-64-bit-or-32-bit-dma.patch
features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch
+bugfix/all/md-raid0-fix-restore-to-sector-variable-in-raid0_make_request.patch
usb-add-support-for-acpi-identification-to-xhci-platform.patch
More information about the Kernel-svn-changes
mailing list