summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRajashekhara, Mahesh2010-05-10 13:24:01 +0200
committerJames Bottomley2010-05-17 04:49:46 +0200
commitda3cc679b247a22efe0746d129074015b278e64d (patch)
tree4949e9cabd0e3a7df4c840d3185af3a4a7a45849 /include
parent[SCSI] aacraid: add support for handling ATA pass-through commands. (diff)
downloadkernel-qcow2-linux-da3cc679b247a22efe0746d129074015b278e64d.tar.gz
kernel-qcow2-linux-da3cc679b247a22efe0746d129074015b278e64d.tar.xz
kernel-qcow2-linux-da3cc679b247a22efe0746d129074015b278e64d.zip
[SCSI] aacraid: prohibit access to array container space
Problem description: -------------------- The issue reported by one of the customer was able to read LBA beyond the array reported size with "sg_read" utility. If N is the last block address reported, then should not be able to read past N, i.e. N+1. But in their case, reported last LBA=143134719. So should not have been able to read with LBA=143134720, but it is read without failure, which means reported size to the OS is not correct and is less than the actual last block address. Solution: --------- Firmware layer exposes lesser container capacity than the actual one. It exposes [Actual size - Spitfire space(10MB)] to the OS, IO's to the 10MB should be prohibited from the Linux driver. Driver checks LBA boundary, if its greater than the array reported size then sets sensekey to HARDWARE_ERROR and sends the notification to the MID layer. Signed-off-by: Mahesh Rajashekhara <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions