Messages in this thread Patch in this message |  | | | Subject | [PATCH] fix small highmem bio bounce bvec handling glitch | | From | Christophe Saout <> | | Date | Thu, 26 Feb 2004 16:06:06 +0100 |
| |
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/
|  |