gdb: Restrict GDB access when locked down

The gdbstub* commands allow to start and control a GDB stub running on
local host that can be used to connect from a remote debugger. Restrict
this functionality when the GRUB is locked down.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Javier Martinez Canillas 2021-02-24 15:03:26 +01:00 committed by Daniel Kiper
parent 5c97492a29
commit 5082708389

View File

@ -75,20 +75,24 @@ static grub_command_t cmd, cmd_stop, cmd_break;
GRUB_MOD_INIT (gdb) GRUB_MOD_INIT (gdb)
{ {
grub_gdb_idtinit (); grub_gdb_idtinit ();
cmd = grub_register_command ("gdbstub", grub_cmd_gdbstub, cmd = grub_register_command_lockdown ("gdbstub", grub_cmd_gdbstub,
N_("PORT"), N_("PORT"),
/* TRANSLATORS: GDB stub is a small part of /*
GDB functionality running on local host * TRANSLATORS: GDB stub is a small part of
which allows remote debugger to * GDB functionality running on local host
connect to it. */ * which allows remote debugger to
N_("Start GDB stub on given port")); * connect to it.
cmd_break = grub_register_command ("gdbstub_break", grub_cmd_gdb_break, */
/* TRANSLATORS: this refers to triggering N_("Start GDB stub on given port"));
a breakpoint so that the user will land cmd_break = grub_register_command_lockdown ("gdbstub_break", grub_cmd_gdb_break,
into GDB. */ /*
0, N_("Break into GDB")); * TRANSLATORS: this refers to triggering
cmd_stop = grub_register_command ("gdbstub_stop", grub_cmd_gdbstop, * a breakpoint so that the user will land
0, N_("Stop GDB stub")); * into GDB.
*/
0, N_("Break into GDB"));
cmd_stop = grub_register_command_lockdown ("gdbstub_stop", grub_cmd_gdbstop,
0, N_("Stop GDB stub"));
} }
GRUB_MOD_FINI (gdb) GRUB_MOD_FINI (gdb)