diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2011-01-31 21:47:54 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-02-12 12:21:56 -0500 |
commit | a361cc0025614fdd07f5f69aeeaa8075530870bc (patch) | |
tree | 419b9ae33664d20e6df60e78bf51f2d320548cf1 /drivers/scsi/mvme16x_scsi.c | |
parent | 044d78e1acb6614f5d79040e490f1fd9bfa45487 (diff) |
[SCSI] scsi_debug: Fix 32-bit overflow in do_device_access causing memory corruption
If I create a scsi_debug device that is larger than 4GB, the multiplication of
(block * scsi_debug_sector_size) can produce a 64-bit value. Unfortunately,
the compiler sees two 32-bit quantities and performs a 32-bit multiplication,
thus truncating the bits above 2^32. This causes the wrong memory location to
be read or written. Change block and rest to be unsigned long long.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/mvme16x_scsi.c')
0 files changed, 0 insertions, 0 deletions