]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tty: vt/keyboard: simplify returns from vt_do_kbkeycode_ioctl()
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 19 Nov 2025 10:01:37 +0000 (11:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Nov 2025 17:30:40 +0000 (18:30 +0100)
Return immediately when something goes wrong in vt_do_kbkeycode_ioctl().
This makes the code flow more obvious.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://patch.msgid.link/20251119100140.830761-8-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/keyboard.c

index 65913a137862975ed79a9e0d2e4a0b9d8768336d..487518a696e67ec4b6f0d25f5dc600e60c6831aa 100644 (file)
@@ -1879,27 +1879,27 @@ int vt_do_kdskbmeta(unsigned int console, unsigned int arg)
        return ret;
 }
 
-int vt_do_kbkeycode_ioctl(int cmd, struct kbkeycode __user *user_kbkc,
-                                                               int perm)
+int vt_do_kbkeycode_ioctl(int cmd, struct kbkeycode __user *user_kbkc, int perm)
 {
        struct kbkeycode tmp;
-       int kc = 0;
+       int kc;
 
        if (copy_from_user(&tmp, user_kbkc, sizeof(struct kbkeycode)))
                return -EFAULT;
+
        switch (cmd) {
        case KDGETKEYCODE:
                kc = getkeycode(tmp.scancode);
-               if (kc >= 0)
-                       kc = put_user(kc, &user_kbkc->keycode);
-               break;
+               if (kc < 0)
+                       return kc;
+               return put_user(kc, &user_kbkc->keycode);
        case KDSETKEYCODE:
                if (!perm)
                        return -EPERM;
-               kc = setkeycode(tmp.scancode, tmp.keycode);
-               break;
+               return setkeycode(tmp.scancode, tmp.keycode);
        }
-       return kc;
+
+       return 0;
 }
 
 static unsigned short vt_kdgkbent(unsigned char kbdmode, unsigned char idx,