diff options
author | Rajashekhara, Mahesh <Mahesh_Rajashekhara@adaptec.com> | 2010-05-10 04:24:01 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-05-16 22:49:46 -0400 |
commit | da3cc679b247a22efe0746d129074015b278e64d (patch) | |
tree | 4949e9cabd0e3a7df4c840d3185af3a4a7a45849 /drivers/scsi/aacraid/aacraid.h | |
parent | 1fc8010a5d9a27391db2be103b13f4ac80990cfc (diff) | |
download | op-kernel-dev-da3cc679b247a22efe0746d129074015b278e64d.zip op-kernel-dev-da3cc679b247a22efe0746d129074015b278e64d.tar.gz |
[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 'drivers/scsi/aacraid/aacraid.h')
0 files changed, 0 insertions, 0 deletions