Hi Pavel,

On 09/15/2016 03:35 PM, Pavel Machek wrote:
Hi!

+       if (copy_from_user(&udev->user_dev, buffer,
+                          sizeof(struct uleds_user_dev))) {
+               ret = -EFAULT;
+               goto out;
+       }
+
+       if (!udev->user_dev.name[0]) {
+               ret = -EINVAL;
+               goto out;
+       }
+
+       ret = led_classdev_register(NULL, &udev->led_cdev);
+       if (ret < 0)
+               goto out;

No sanity checking on the name -> probably a security hole. Do not
push this upstream before this is fixed.

And actually... is it possible to have more then one userspace LED
with this interface? I do have RGB LED connect on /dev/ttyUSB0, and I
guess userspace driver would be appropriate, but it needs 3
channels...

Each new successful write to /dev/uleds creates a new LED class device.

See Documentation/leds/uleds.txt.

--
Best regards,
Jacek Anaszewski

Reply via email to