lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 30 Apr 2020 09:42:54 +0300 From: Arseny Maslennikov <ar@...msu.ru> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Jiri Slaby <jslaby@...e.com>, linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org Cc: Arseny Maslennikov <ar@...msu.ru>, Rob Landley <rob@...dley.net>, "Eric W. Biederman" <ebiederm@...ssion.com>, Pavel Machek <pavel@....cz>, linux-api@...r.kernel.org, "Vladimir D. Seleznev" <vseleznv@...linux.org> Subject: [PATCH v3 0/7] TTY Keyboard Status Request This patch series introduces TTY keyboard status request, a feature of the n_tty line discipline that reserves a character in struct termios (^T by default) and reacts to it by printing a short informational line to the terminal and sending a Unix signal to the tty's foreground process group. The processes may, in response to the signal, output a textual description of what they're doing. The feature has been present in a similar form at least in Free/Open/NetBSD; it would be nice to have something like this in Linux as well. There is an LKML thread[1] where users have previously expressed the rationale for this. The current implementation does not break existing kernel API in any way, since, fortunately, all the architectures supported by the kernel happen to have at least 1 free byte in the termios control character array. Patches 1-4 implement the semantics of the new signal and VSTATUS cc; patches 5-7 implement the kerninfo line written to the terminal by n_tty. The series should cleanly apply to tty-next and 5.7-rc3. [1] https://lore.kernel.org/lkml/1415200663.3247743.187387481.75CE9317@webmail.messagingengine.com/ v2 <- v1: removed useless debugging bits. v3 <- v2: made commit message clarifications sparked by previous discussion, adapted 7/7 for y2038, re-Cc linux-api@. Discussion of v1: https://lore.kernel.org/lkml/20190605081906.28938-1-ar@cs.msu.ru/ Discussion of v2: https://lore.kernel.org/lkml/20190625161153.29811-1-ar@cs.msu.ru/ Arseny Maslennikov (7): signal.h: Define SIGINFO on all architectures tty: termios: Reserve space for VSTATUS in .c_cc n_tty: Send SIGINFO to fg pgrp on status request character linux/signal.h: Ignore SIGINFO by default in new tasks tty: Add NOKERNINFO lflag to termios n_tty: ->ops->write: Cut core logic out to a separate function n_tty: Provide an informational line on VSTATUS receipt arch/alpha/include/asm/termios.h | 4 +- arch/alpha/include/uapi/asm/termbits.h | 2 + arch/arm/include/uapi/asm/signal.h | 1 + arch/h8300/include/uapi/asm/signal.h | 1 + arch/ia64/include/asm/termios.h | 4 +- arch/ia64/include/uapi/asm/signal.h | 1 + arch/ia64/include/uapi/asm/termbits.h | 2 + arch/m68k/include/uapi/asm/signal.h | 1 + arch/mips/include/asm/termios.h | 4 +- arch/mips/include/uapi/asm/signal.h | 1 + arch/mips/include/uapi/asm/termbits.h | 2 + arch/parisc/include/asm/termios.h | 4 +- arch/parisc/include/uapi/asm/signal.h | 1 + arch/parisc/include/uapi/asm/termbits.h | 2 + arch/powerpc/include/asm/termios.h | 4 +- arch/powerpc/include/uapi/asm/signal.h | 1 + arch/powerpc/include/uapi/asm/termbits.h | 2 + arch/s390/include/asm/termios.h | 4 +- arch/s390/include/uapi/asm/signal.h | 1 + arch/sparc/include/asm/termios.h | 4 +- arch/sparc/include/uapi/asm/signal.h | 2 + arch/sparc/include/uapi/asm/termbits.h | 2 + arch/x86/include/uapi/asm/signal.h | 1 + arch/xtensa/include/uapi/asm/signal.h | 1 + arch/xtensa/include/uapi/asm/termbits.h | 2 + drivers/tty/Makefile | 3 +- drivers/tty/n_tty.c | 70 ++++- drivers/tty/n_tty_status.c | 338 +++++++++++++++++++++++ include/asm-generic/termios.h | 4 +- include/linux/sched.h | 7 + include/linux/signal.h | 5 +- include/linux/tty.h | 7 +- include/uapi/asm-generic/signal.h | 1 + include/uapi/asm-generic/termbits.h | 2 + 34 files changed, 458 insertions(+), 33 deletions(-) create mode 100644 drivers/tty/n_tty_status.c -- 2.26.2
Powered by blists - more mailing lists