summaryrefslogtreecommitdiff
path: root/drivers/message
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2018-01-25 17:27:27 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-05-25 16:17:47 +0200
commit62d16de3109f8dff76f97b58d66ce502970b2f3f (patch)
tree3ef39d24aa2c03fa049f3d88bc96ad83cc843004 /drivers/message
parent0bf213d90bb2c25d1f36811d14f239126764b130 (diff)
scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
[ Upstream commit a7043e9529f3c367cc4d82997e00be034cbe57ca ] My static checker complains about an out of bounds read: drivers/message/fusion/mptctl.c:2786 mptctl_hp_targetinfo() error: buffer overflow 'hd->sel_timeout' 255 <= u32max. It's true that we probably should have a bounds check here. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c
index 7b3b41368931..cf6ce9f600ca 100644
--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -2698,6 +2698,8 @@ mptctl_hp_targetinfo(unsigned long arg)
__FILE__, __LINE__, iocnum);
return -ENODEV;
}
+ if (karg.hdr.id >= MPT_MAX_FC_DEVICES)
+ return -EINVAL;
dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_hp_targetinfo called.\n",
ioc->name));