Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad835c29 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: gadget: ffs: Use local copy of descriptors for userspace copy"

parents c39a7e43 6b76c336
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1346,7 +1346,7 @@ static long ffs_epfile_ioctl(struct file *file, unsigned code,
	case FUNCTIONFS_ENDPOINT_DESC:
	{
		int desc_idx;
		struct usb_endpoint_descriptor *desc;
		struct usb_endpoint_descriptor desc1, *desc;

		switch (epfile->ffs->gadget->speed) {
		case USB_SPEED_SUPER:
@@ -1358,10 +1358,12 @@ static long ffs_epfile_ioctl(struct file *file, unsigned code,
		default:
			desc_idx = 0;
		}

		desc = epfile->ep->descs[desc_idx];
		memcpy(&desc1, desc, desc->bLength);

		spin_unlock_irq(&epfile->ffs->eps_lock);
		ret = copy_to_user((void __user *)value, desc, desc->bLength);
		ret = copy_to_user((void __user *)value, &desc1, desc1.bLength);
		if (ret)
			ret = -EFAULT;
		return ret;