The > should be >= SWITCHTEC_IOCTL_MAX_EVENTS. Otherwise we probably read one space beyond the end of the loop, hit a sanity check and return -EINVAL. This bug doesn't look super serious. Fixes: 61c2e02154a9 ("switchtec: Add IOCTLs to the Switchtec driver") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c index 1f045c95dec6..82ae08956457 100644 --- a/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c @@ -1049,7 +1049,7 @@ static int ioctl_event_ctl(struct switchtec_dev *stdev, if (copy_from_user(&ctl, uctl, sizeof(ctl))) return -EFAULT; - if (ctl.event_id > SWITCHTEC_IOCTL_MAX_EVENTS) + if (ctl.event_id >= SWITCHTEC_IOCTL_MAX_EVENTS) return -EINVAL; if (ctl.flags & SWITCHTEC_IOCTL_EVENT_FLAG_UNUSED) -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html