From: Hannes Reinecke Date: Tue, 15 Aug 2017 08:21:41 +0000 (+0200) Subject: scsi: ses: check return code from ses_recv_diag() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=acf8ab9a85bfd6ead185a59c4cfe26b25d5a082f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git scsi: ses: check return code from ses_recv_diag() We should be checking the return code from ses_recv_diag() to avoid accessing invalid data. Signed-off-by: Hannes Reinecke Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c index f1cdf32d7514..2a651b2063a2 100644 --- a/drivers/scsi/ses.c +++ b/drivers/scsi/ses.c @@ -179,7 +179,8 @@ static unsigned char *ses_get_page2_descriptor(struct enclosure_device *edev, unsigned char *type_ptr = ses_dev->page1_types; unsigned char *desc_ptr = ses_dev->page2 + 8; - ses_recv_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len); + if (ses_recv_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len) < 0) + return NULL; for (i = 0; i < ses_dev->page1_num_types; i++, type_ptr += 4) { for (j = 0; j < type_ptr[1]; j++) {