[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