diff options
author | Tyrel Datwyler <tyreld@linux.vnet.ibm.com> | 2016-08-12 17:20:07 -0500 |
---|---|---|
committer | Sasha Levin <alexander.levin@verizon.com> | 2016-10-02 12:47:43 -0400 |
commit | 0dd4c68f4a9d5629fdb3e966a25bb52461c0970e (patch) | |
tree | e070b158e127bde74e50e06b7134462e408ef36b | |
parent | cfad3a5a90466ae83e437f988cf74561e0d8b063 (diff) | |
download | lwn-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.c | 5 |
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; } |