]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vt: keyboard: Don't process Unicode characters in K_OFF mode
authorMyrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
Wed, 2 Jul 2025 14:17:57 +0000 (21:17 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Jul 2025 16:53:50 +0000 (18:53 +0200)
We don't process Unicode characters if the virtual terminal is in raw
mode, so there's no reason why we shouldn't do the same for K_OFF
(especially since people would expect K_OFF to actually turn off all VT
key processing).

Fixes: 9fc3de9c8356 ("vt: Add virtual console keyboard mode OFF")
Signed-off-by: Myrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
Cc: stable <stable@kernel.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20250702-vt-misc-unicode-fixes-v1-1-c27e143cc2eb@qtmlabs.xyz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/keyboard.c

index dc585079c2fb8c92d37284701f15905a24161768..ee1d9c448c7ebf2f1456f6bd18e55a9681b036c2 100644 (file)
@@ -1487,7 +1487,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
                rc = atomic_notifier_call_chain(&keyboard_notifier_list,
                                                KBD_UNICODE, &param);
                if (rc != NOTIFY_STOP)
-                       if (down && !raw_mode)
+                       if (down && !(raw_mode || kbd->kbdmode == VC_OFF))
                                k_unicode(vc, keysym, !down);
                return;
        }