diff --git a/drivers/usb/gadget/function/f_generic.c b/drivers/usb/gadget/function/f_generic.c index b361f64c2b7db2c573f79c7ce1ffd956c9592924..6da877cbfe9bff81fa7193c71e4385592d88fd9f 100644 --- a/drivers/usb/gadget/function/f_generic.c +++ b/drivers/usb/gadget/function/f_generic.c @@ -1472,6 +1472,9 @@ static long usbfn_ioctl(struct file *file, unsigned int cmd, unsigned long value return (-ENOMEM); } + if (newfn.nameLen > MAX_NAMELEN) { + return -EPERM; + } memcpy(ffs->dev_name, newfn.name, newfn.nameLen); if (unlikely(!ffs->dev_name)) {