OSDN Git Service

Input: uinput - unlock on allocation failure in ioctl
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 10 Nov 2017 18:21:53 +0000 (10:21 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 10 Nov 2017 18:29:53 +0000 (10:29 -0800)
We have to unlock before returning if input_allocate_device() fails.

Fixes: 04ce40a61a91 ("Input: uinput - remove uinput_allocate_device()")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/uinput.c

index 7b41aad..39ddd9a 100644 (file)
@@ -857,8 +857,10 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd,
 
        if (!udev->dev) {
                udev->dev = input_allocate_device();
-               if (!udev->dev)
-                       return -ENOMEM;
+               if (!udev->dev) {
+                       retval = -ENOMEM;
+                       goto out;
+               }
        }
 
        switch (cmd) {