hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/tty/vt/keyboard.c
....@@ -32,6 +32,7 @@
3232 #include <linux/tty.h>
3333 #include <linux/tty_flip.h>
3434 #include <linux/mm.h>
35
+#include <linux/nospec.h>
3536 #include <linux/string.h>
3637 #include <linux/init.h>
3738 #include <linux/slab.h>
....@@ -310,7 +311,7 @@
310311 static void put_queue(struct vc_data *vc, int ch)
311312 {
312313 tty_insert_flip_char(&vc->port, ch, 0);
313
- tty_schedule_flip(&vc->port);
314
+ tty_flip_buffer_push(&vc->port);
314315 }
315316
316317 static void puts_queue(struct vc_data *vc, char *cp)
....@@ -319,7 +320,7 @@
319320 tty_insert_flip_char(&vc->port, *cp, 0);
320321 cp++;
321322 }
322
- tty_schedule_flip(&vc->port);
323
+ tty_flip_buffer_push(&vc->port);
323324 }
324325
325326 static void applkey(struct vc_data *vc, int key, char mode)
....@@ -564,7 +565,7 @@
564565 static void fn_send_intr(struct vc_data *vc)
565566 {
566567 tty_insert_flip_char(&vc->port, 0, TTY_BREAK);
567
- tty_schedule_flip(&vc->port);
568
+ tty_flip_buffer_push(&vc->port);
568569 }
569570
570571 static void fn_scroll_forw(struct vc_data *vc)
....@@ -1241,7 +1242,7 @@
12411242 }
12421243 }
12431244
1244
-DECLARE_TASKLET_DISABLED(keyboard_tasklet, kbd_bh, 0);
1245
+DECLARE_TASKLET_DISABLED_OLD(keyboard_tasklet, kbd_bh);
12451246
12461247 #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
12471248 defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
....@@ -1461,7 +1462,7 @@
14611462 KBD_UNICODE, &param);
14621463 if (rc != NOTIFY_STOP)
14631464 if (down && !raw_mode)
1464
- to_utf8(vc, keysym);
1465
+ k_unicode(vc, keysym, !down);
14651466 return;
14661467 }
14671468
....@@ -2022,7 +2023,7 @@
20222023 goto reterr;
20232024 }
20242025 kbs->kb_string[sizeof(kbs->kb_string)-1] = '\0';
2025
- i = kbs->kb_func;
2026
+ i = array_index_nospec(kbs->kb_func, MAX_NR_FUNC);
20262027
20272028 switch (cmd) {
20282029 case KDGKBSENT: {