hrev46068 adds 1 changeset to branch 'master' old head: 367d254419ed612ac5a6b3d4d8c262bc30038c53 new head: a20d64522658966dcfc148b5aeff24ad387fe768 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=a20d645+%5E367d254 ---------------------------------------------------------------------------- a20d645: usb_disk: fixed mounting a USB disk on x86_64 * usb_disk_prepare_partial_buffer() was miscalculating the offset in the temp buffer, which led to a page fault later when copying to the user buffer. [ Jerome Duval <jerome.duval@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev46068 Commit: a20d64522658966dcfc148b5aeff24ad387fe768 URL: http://cgit.haiku-os.org/haiku/commit/?id=a20d645 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Mon Sep 16 11:27:42 2013 UTC ---------------------------------------------------------------------------- 1 file changed, 1 insertion(+), 1 deletion(-) src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp | 2 +- ---------------------------------------------------------------------------- diff --git a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp index d270798..ff03f98 100644 --- a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp @@ -963,7 +963,7 @@ usb_disk_prepare_partial_buffer(device_lun *lun, off_t position, size_t length, return result; } - off_t offset = position - (blockPosition * lun->block_size); + off_t offset = position - (off_t)blockPosition * lun->block_size; partialBuffer = (uint8 *)blockBuffer + offset; return B_OK; }