]> git.baikalelectronics.ru Git - kernel.git/commit
lockdown: also lock down previous kgdb use
authorDaniel Thompson <daniel.thompson@linaro.org>
Mon, 23 May 2022 18:11:02 +0000 (19:11 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 May 2022 18:29:34 +0000 (11:29 -0700)
commitba1161de517a01b073b73cdc3d52614b371169c4
tree662a78debf51c602be75fd9438a7679f5516ae2a
parente6578f34b5f8aeb99ca67ee1e00cffc7b6d8282d
lockdown: also lock down previous kgdb use

KGDB and KDB allow read and write access to kernel memory, and thus
should be restricted during lockdown.  An attacker with access to a
serial port (for example, via a hypervisor console, which some cloud
vendors provide over the network) could trigger the debugger so it is
important that the debugger respect the lockdown mode when/if it is
triggered.

Fix this by integrating lockdown into kdb's existing permissions
mechanism.  Unfortunately kgdb does not have any permissions mechanism
(although it certainly could be added later) so, for now, kgdb is simply
and brutally disabled by immediately exiting the gdb stub without taking
any action.

For lockdowns established early in the boot (e.g. the normal case) then
this should be fine but on systems where kgdb has set breakpoints before
the lockdown is enacted than "bad things" will happen.

CVE: CVE-2022-21499
Co-developed-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/security.h
kernel/debug/debug_core.c
kernel/debug/kdb/kdb_main.c
security/security.c