summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyrel Datwyler <tyreld@linux.vnet.ibm.com>2016-08-12 17:20:07 -0500
committerSasha Levin <alexander.levin@verizon.com>2016-10-02 12:47:43 -0400
commit0dd4c68f4a9d5629fdb3e966a25bb52461c0970e (patch)
treee070b158e127bde74e50e06b7134462e408ef36b
parentcfad3a5a90466ae83e437f988cf74561e0d8b063 (diff)
downloadlwn-0dd4c68f4a9d5629fdb3e966a25bb52461c0970e.tar.gz
lwn-0dd4c68f4a9d5629fdb3e966a25bb52461c0970e.zip
scsi: fix upper bounds check of sense key in scsi_sense_key_string()
[ Upstream commit a87eeb900dbb9f8202f96604d56e47e67c936b9d ] Commit 655ee63cf371 ("scsi constants: command, sense key + additional sense string") added a "Completed" sense string with key 0xF to snstext[], but failed to updated the upper bounds check of the sense key in scsi_sense_key_string(). Fixes: 655ee63cf371 ("[SCSI] scsi constants: command, sense key + additional sense strings") Cc: <stable@vger.kernel.org> # v3.12+ Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
-rw-r--r--drivers/scsi/constants.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
index fa09d4be2b53..2b456ca69d5c 100644
--- a/drivers/scsi/constants.c
+++ b/drivers/scsi/constants.c
@@ -1181,8 +1181,9 @@ static const char * const snstext[] = {
/* Get sense key string or NULL if not available */
const char *
-scsi_sense_key_string(unsigned char key) {
- if (key <= 0xE)
+scsi_sense_key_string(unsigned char key)
+{
+ if (key < ARRAY_SIZE(snstext))
return snstext[key];
return NULL;
}