linux-imx/drivers/tty/vt
Linus Torvalds 287b569a5b tty: add the option to have a tty reject a new ldisc
[ Upstream commit 6bd23e0c2b ]

... and use it to limit the virtual terminals to just N_TTY.  They are
kind of special, and in particular, the "con_write()" routine violates
the "writes cannot sleep" rule that some ldiscs rely on.

This avoids the

   BUG: sleeping function called from invalid context at kernel/printk/printk.c:2659

when N_GSM has been attached to a virtual console, and gsmld_write()
calls con_write() while holding a spinlock, and con_write() then tries
to get the console lock.

Tested-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Daniel Starke <daniel.starke@siemens.com>
Reported-by: syzbot <syzbot+dbac96d8e73b61aa559c@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=dbac96d8e73b61aa559c
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20240423163339.59780-1-torvalds@linux-foundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-27 13:49:05 +02:00
..
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
conmakehash.c tty: vt: move conmakehash to drivers/tty/vt/ from scripts/ 2019-12-17 14:42:46 +01:00
consolemap.c tty/vt: consolemap: use E_TABSZ for the translations size 2022-06-27 14:17:12 +02:00
cp437.uni
defkeymap.c_shipped tty/vt: defkeymap.c_shipped, little unification with loadkeys 2022-06-10 13:34:17 +02:00
defkeymap.map
keyboard.c mm: remove arguments of show_mem() 2023-08-18 10:12:02 -07:00
Makefile tty/vt: Makefile, add --unicode for loadkeys invocation 2022-06-10 13:34:18 +02:00
selection.c tty: switch count in tty_ldisc_receive_buf() to size_t 2023-08-11 21:12:45 +02:00
vc_screen.c vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF 2023-05-13 20:01:13 +09:00
vt_ioctl.c vt_ioctl: fix potential spectre v1 in VT_DISALLOCATE 2022-03-18 14:35:01 +01:00
vt.c tty: add the option to have a tty reject a new ldisc 2024-06-27 13:49:05 +02:00