[kernel] r18382 - in dists/squeeze/linux-2.6/debian: . patches/features/all/xen patches/series
Ian Campbell
ijc-guest at alioth.debian.org
Mon Dec 12 08:35:16 UTC 2011
Author: ijc-guest
Date: Mon Dec 12 08:35:14 2011
New Revision: 18382
Log:
xen: blkback: don't fail empty barrier requests (Closes: #637234)
Added:
dists/squeeze/linux-2.6/debian/patches/features/all/xen/xen-blkback-don-t-fail-empty-barrier-requests.patch
Modified:
dists/squeeze/linux-2.6/debian/changelog
dists/squeeze/linux-2.6/debian/patches/series/40-extra
Modified: dists/squeeze/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze/linux-2.6/debian/changelog Sun Dec 11 17:22:17 2011 (r18381)
+++ dists/squeeze/linux-2.6/debian/changelog Mon Dec 12 08:35:14 2011 (r18382)
@@ -64,6 +64,7 @@
- use locked set/clear bit when manipulating event channel masks.
- ensure event channels are handled in a fair/round-robin order preventing
lower numbered event channels from starving higher.
+ * xen: blkback: don't fail empty barrier requests (Closes: #637234)
-- Ben Hutchings <ben at decadent.org.uk> Thu, 10 Nov 2011 02:28:55 +0000
Added: dists/squeeze/linux-2.6/debian/patches/features/all/xen/xen-blkback-don-t-fail-empty-barrier-requests.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze/linux-2.6/debian/patches/features/all/xen/xen-blkback-don-t-fail-empty-barrier-requests.patch Mon Dec 12 08:35:14 2011 (r18382)
@@ -0,0 +1,42 @@
+commit 25266338a41470a21e9b3974445be09e0640dda7
+Author: Jan Beulich <JBeulich at novell.com>
+Date: Tue May 17 11:07:05 2011 +0100
+
+ xen/blkback: don't fail empty barrier requests
+
+ The sector number on empty barrier requests may (will?) be -1, which,
+ given that it's being treated as unsigned 64-bit quantity, will almost
+ always exceed the actual (virtual) disk's size.
+
+ Inspired by Konrad's "When writting barriers set the sector number to
+ zero...".
+
+ While at it also add overflow checking to the math in vbd_translate().
+
+ [ Manually cherrypicked from 8ab521506c4dbb144f0c04c55e3d8bec42c1b2b9 -J ]
+
+ Signed-off-by: Jan Beulich <jbeulich at novell.com>
+ Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
+ Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
+
+diff --git a/drivers/xen/blkback/vbd.c b/drivers/xen/blkback/vbd.c
+index 943ec23..6e0abcc 100644
+--- a/drivers/xen/blkback/vbd.c
++++ b/drivers/xen/blkback/vbd.c
+@@ -107,8 +107,14 @@ int vbd_translate(struct phys_req *req, blkif_t *blkif, int operation)
+ if ((operation != READ) && vbd->readonly)
+ goto out;
+
+- if (unlikely((req->sector_number + req->nr_sects) > vbd_sz(vbd)))
+- goto out;
++ if (likely(req->nr_sects)) {
++ blkif_sector_t end = req->sector_number + req->nr_sects;
++
++ if (unlikely(end < req->sector_number))
++ goto out;
++ if (unlikely(end > vbd_sz(vbd)))
++ goto out;
++ }
+
+ req->dev = vbd->pdevice;
+ req->bdev = vbd->bdev;
Modified: dists/squeeze/linux-2.6/debian/patches/series/40-extra
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/series/40-extra Sun Dec 11 17:22:17 2011 (r18381)
+++ dists/squeeze/linux-2.6/debian/patches/series/40-extra Mon Dec 12 08:35:14 2011 (r18382)
@@ -67,3 +67,5 @@
+ features/all/xen/xen-events-Remove-redundant-clear-of-l2i-at-end-of-r.patch featureset=xen
+ features/all/xen/xen-do-not-try-to-allocate-the-callback-vector-again.patch featureset=xen
+ features/all/xen/xen-improvements-to-VIRQ_DEBUG-output.patch featureset=xen
+
++ features/all/xen/xen-blkback-don-t-fail-empty-barrier-requests.patch featureset=xen
More information about the Kernel-svn-changes
mailing list