]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: fix upper bounds check of sense key in scsi_sense_key_string()
authorTyrel Datwyler <tyreld@linux.vnet.ibm.com>
Fri, 12 Aug 2016 22:20:07 +0000 (17:20 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 20 Nov 2016 01:17:11 +0000 (01:17 +0000)
commit a87eeb900dbb9f8202f96604d56e47e67c936b9d upstream.

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")
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>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/constants.c

index d35a5d6c8d7c8219f5b142b82a02a8f79009a48d..2cde21be80c130404c97c5658d7daeace7a982b9 100644 (file)
@@ -1335,9 +1335,10 @@ static const char * const snstext[] = {
 
 /* Get sense key string or NULL if not available */
 const char *
-scsi_sense_key_string(unsigned char key) {
+scsi_sense_key_string(unsigned char key)
+{
 #ifdef CONFIG_SCSI_CONSTANTS
-       if (key <= 0xE)
+       if (key < ARRAY_SIZE(snstext))
                return snstext[key];
 #endif
        return NULL;