lkml.org 
[lkml]   [2004]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] fix small highmem bio bounce bvec handling glitch
From
Date
Hi,

[Oops, forgot to Cc LKML]

while going through the bio highmem handling code I noticed a small
glitch. __end_that_request_first might modify the bv_offset and bv_len
if the segment was partially completed. The bio-read-bounce-back code
should use the unmodified bv_offset when copying the segment data:

--- linux.orig/mm/highmem.c 2004-01-21 19:08:45.000000000 +0100
+++ linux/mm/highmem.c 2004-02-26 15:47:14.574722576 +0100
@@ -294,7 +294,12 @@
if (tovec->bv_page == fromvec->bv_page)
continue;

- vfrom = page_address(fromvec->bv_page) + fromvec->bv_offset;
+ /*
+ * fromvec->bv_offset and fromvec->bv_len might have been
+ * modified by the block layer, so use the original copy,
+ * bounce_copy_vec already uses tovec->bv_len
+ */
+ vfrom = page_address(fromvec->bv_page) + tovec->bv_offset;

bounce_copy_vec(tovec, vfrom);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:01    [from the cache]
©2003-2011 Jasper Spaans