-
- Downloads
vt:tackle kbd_table
Keyboard struct lifetime is easy, but the locking is not and is completely ignored by the existing code. Tackle this one head on - Make the kbd_table private so we can run down all direct users - Hoick the relevant ioctl handlers into the keyboard layer - Lock them with the keyboard lock so they don't change mid keypress - Add helpers for things like console stop/start so we isolate the poking around properly - Tweak the braille console so it still builds There are a couple of FIXME locking cases left for ioctls that are so hideous they should be addressed in a later patch. After this patch the kbd_table is private and all the keyboard jiggery pokery is in one place. This update fixes speakup and also a memory leak in the original. Signed-off-by:Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
- drivers/accessibility/braille/braille_console.c 3 additions, 6 deletionsdrivers/accessibility/braille/braille_console.c
- drivers/staging/speakup/main.c 4 additions, 4 deletionsdrivers/staging/speakup/main.c
- drivers/tty/sysrq.c 2 additions, 4 deletionsdrivers/tty/sysrq.c
- drivers/tty/vt/keyboard.c 595 additions, 26 deletionsdrivers/tty/vt/keyboard.c
- drivers/tty/vt/selection.c 7 additions, 2 deletionsdrivers/tty/vt/selection.c
- drivers/tty/vt/vt.c 8 additions, 19 deletionsdrivers/tty/vt/vt.c
- drivers/tty/vt/vt_ioctl.c 17 additions, 308 deletionsdrivers/tty/vt/vt_ioctl.c
- include/linux/kbd_kern.h 1 addition, 6 deletionsinclude/linux/kbd_kern.h
- include/linux/keyboard.h 0 additions, 2 deletionsinclude/linux/keyboard.h
- include/linux/vt_kern.h 23 additions, 0 deletionsinclude/linux/vt_kern.h
Loading
Please register or sign in to comment