Skip to contentSkip to conversation

mptfusion: Add bounds check in mptctl_hp_targetinfo()

PATCH Applied Dan Carpenter 3 participants 3 messages Jan 25, 2018 – Jan 31, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mptfusion: Add bounds check in mptctl_hp_targetinfo()

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.

drivers/message/fusion/mptctl.c +2 -0
index 8d12017b9893..4470630dd545 100644
@@ -2687,6 +2687,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));
 
#2 lore raw
In reply to Dan Carpenter

Dan,

Quoted 6 lines

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.

Applied to 4.16/scsi-fixes, thanks!

Signature · 1 line
Martin K. Petersen	Oracle Linux Engineering