linux_dsm_epyc7002/drivers/tty/vt
Alexey Kardashevskiy 44c413d9a5 tty/vt: Do not warn when huge selection requested
The tty TIOCL_SETSEL ioctl allocates a memory buffer big enough for text
selection area. The maximum allowed console size is
VC_RESIZE_MAXCOL * VC_RESIZE_MAXROW == 32767*32767 == ~1GB and typical
MAX_ORDER is set to allow allocations lot less than than (circa 16MB).

So it is quite possible to trigger huge allocation (and syzkaller just
did that) which is going to fail (which is fine) with a backtrace in
mm/page_alloc.c at WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN)) and
this may trigger panic (if panic_on_warn is enabled) and
leak kernel addresses to dmesg.

This passes __GFP_NOWARN to kmalloc_array to avoid unnecessary user-
triggered WARN_ON. Note that the error is not ignored and
the warning is still printed.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Link: https://lore.kernel.org/r/20200617070444.116704-1-aik@ozlabs.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-01 15:29:35 +02:00
..
.gitignore tty: vt: move conmakehash to drivers/tty/vt/ from scripts/ 2019-12-17 14:42:46 +01: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: check allocation size in con_set_unimap() 2020-06-24 17:11:58 +02:00
cp437.uni
defkeymap.c_shipped
defkeymap.map
keyboard.c vt: keyboard: avoid signed integer overflow in k_ascii 2020-05-27 12:21:44 +02:00
Makefile kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
selection.c tty/vt: Do not warn when huge selection requested 2020-07-01 15:29:35 +02:00
vc_screen.c vcs: prevent write access to vcsu devices 2019-11-27 07:47:17 +01:00
vt_ioctl.c vt_ioctl: move perm checks level up 2020-06-24 17:08:35 +02:00
vt.c vt: simplify noncolor attributes in build_attr 2020-06-24 17:08:33 +02:00