Lines Matching +full:- +full:c
36 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
37 Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
39 Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
40 ---
43 docs/grub-dev.texi | 27 +++++++++++++++
45 grub-core/Makefile.am | 5 ++-
46 grub-core/Makefile.core.am | 14 ++++----
47 grub-core/Makefile.core.def | 1 +
48 grub-core/Makefile.in | 73 ++++++++++++++++++++++++++++++-----------
49 grub-core/commands/extcmd.c | 23 +++++++++++++
50 grub-core/kern/command.c | 24 ++++++++++++++
51 grub-core/kern/lockdown.c | 80 +++++++++++++++++++++++++++++++++++++++++++++
56 15 files changed, 290 insertions(+), 27 deletions(-)
57 create mode 100644 grub-core/kern/lockdown.c
60 diff --git a/Makefile.in b/Makefile.in
62 --- a/Makefile.in
64 @@ -2617,7 +2617,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
65 …CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'…
66 '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
67 CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \
68 + '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
69 '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \
70 + '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
71 '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
72 CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
74 diff --git a/conf/Makefile.common b/conf/Makefile.common
76 --- a/conf/Makefile.common
78 @@ -84,7 +84,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
79 CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
80 …CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS_…
81 CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)'
82 +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_…
83 CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)'
84 +CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__V…
85 CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
86 CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
88 diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
90 --- a/docs/grub-dev.texi
91 +++ b/docs/grub-dev.texi
92 @@ -86,6 +86,7 @@ This edition documents version @value{VERSION}.
100 @@ -2086,6 +2087,32 @@ Optionally at the end of the file @samp{fini}, if it exists, is called with …
133 diff --git a/docs/grub.texi b/docs/grub.texi
135 --- a/docs/grub.texi
137 @@ -5581,6 +5581,7 @@ environment variables and commands are listed in the same order.
145 @@ -5795,6 +5796,13 @@ into @file{core.img} in order to avoid a potential gap in measurement between
159 diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
161 --- a/grub-core/Makefile.am
162 +++ b/grub-core/Makefile.am
163 @@ -80,6 +80,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h
170 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/compiler-rt-emu.h
171 @@ -377,8 +378,10 @@ command.lst: $(MARKER_FILES)
173 sed -n \
174 -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
175 + -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
176 -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
177 - -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
178 + -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
179 + -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
180 done) | sort -u > $@
183 diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
185 --- a/grub-core/Makefile.core.am
186 +++ b/grub-core/Makefile.core.am
187 @@ -22378,7 +22378,7 @@ endif
191 -kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c …
192 …c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/…
193 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
196 @@ -22488,7 +22488,7 @@ endif
200 -kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern…
201 …c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl…
202 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
205 @@ -22664,7 +22664,7 @@ endif
209 -kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_he…
210 …c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/ef…
211 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
213 …kernel_exec_CFLAGS = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-thr…
214 @@ -22730,7 +22730,7 @@ endif
218 -kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/…
219 …c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S …
220 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
223 @@ -22752,7 +22752,7 @@ endif
227 -kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_fl…
228 …c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.…
229 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
232 @@ -22796,7 +22796,7 @@ endif
236 -kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_fl…
237 …c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/e…
238 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
241 @@ -22818,7 +22818,7 @@ endif
245 -kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_fl…
246 …c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c ke…
247 nodist_kernel_exec_SOURCES = symlist.c ## platform nodist sources
250 diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
252 --- a/grub-core/Makefile.core.def
253 +++ b/grub-core/Makefile.core.def
254 @@ -205,6 +205,7 @@ kernel = {
255 efi = kern/acpi.c;
256 efi = kern/efi/acpi.c;
257 efi = kern/efi/sb.c;
258 + efi = kern/lockdown.c;
259 i386_coreboot = kern/i386/pc/acpi.c;
260 i386_multiboot = kern/i386/pc/acpi.c;
261 i386_coreboot = kern/acpi.c;
262 diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
264 --- a/grub-core/Makefile.in
265 +++ b/grub-core/Makefile.in
266 @@ -10457,13 +10457,14 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
267 kern/arm64/cache_flush.S kern/arm64/dl.c \
268 kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c \
269 kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \
270 - kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c \
271 - kern/time.c kern/generic/millisleep.c kern/command.c \
272 - kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c \
273 - kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \
274 - kern/misc.c kern/parser.c kern/partition.c \
275 - kern/rescue_parser.c kern/rescue_reader.c kern/term.c \
276 - kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \
277 + kern/efi/acpi.c kern/efi/sb.c kern/lockdown.c \
278 + kern/compiler-rt.c kern/mm.c kern/time.c \
279 + kern/generic/millisleep.c kern/command.c kern/corecmd.c \
280 + kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c \
281 + kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c \
282 + kern/parser.c kern/partition.c kern/rescue_parser.c \
283 + kern/rescue_reader.c kern/term.c kern/verifiers.c \
284 + kern/arm/startup.S kern/arm/coreboot/init.c \
285 kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
286 lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
287 term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
288 @@ -10572,6 +10573,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
289 …v64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
290 …efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
291 …4_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
292 …efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
293 …_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
294 …scv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
295 …v64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
296 @@ -10646,6 +10648,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
297 …pc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
298 …eee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
299 …_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
300 …eee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
301 …1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
302 …erpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
303 …pc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
304 @@ -10683,6 +10686,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
305 …u_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
306 …ps_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
307 …mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
308 …ps_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
309 …FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
310 …emu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
311 …u_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
312 @@ -10884,6 +10888,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
313 …COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
314 …_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
315 …ND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
316 …_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
317 …86_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
318 …@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
319 …COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
320 @@ -11120,6 +11125,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
321 …SE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
322 …COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
323 …@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
324 …COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
325 …D_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
326 …ALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
327 …SE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
328 @@ -11287,6 +11293,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
329 …@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT)…
330 …@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJ…
331 …@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEX…
332 +@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJ…
333 …@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-compiler-rt.$(…
334 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
335 …@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT)…
336 @@ -11379,6 +11386,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
337 @COND_arm64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
338 @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
339 @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
340 +@COND_arm64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
341 @COND_arm64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
342 @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
343 @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
344 @@ -15379,7 +15387,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
345 …CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'…
346 '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
347 CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \
348 + '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
349 '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \
350 + '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
351 '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
352 CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
354 @@ -16387,6 +16397,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
362 @@ -25594,7 +25605,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
363 @COND_arm64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
364 @COND_arm64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
365 @COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
366 -@COND_arm64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
367 +@COND_arm64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
368 +@COND_arm64_efi_TRUE@ kern/mm.c kern/time.c \
369 @COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
370 @COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
371 @COND_arm64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
372 @@ -25645,7 +25657,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
373 @COND_arm_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \
374 @COND_arm_efi_TRUE@ term/efi/console.c kern/acpi.c \
375 @COND_arm_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \
376 -@COND_arm_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
377 +@COND_arm_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
378 +@COND_arm_efi_TRUE@ kern/mm.c kern/time.c \
379 @COND_arm_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
380 @COND_arm_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
381 @COND_arm_efi_TRUE@ kern/dl.c kern/env.c kern/err.c kern/file.c \
382 @@ -25725,7 +25738,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
383 @COND_i386_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
384 @COND_i386_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
385 @COND_i386_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
386 -@COND_i386_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
387 +@COND_i386_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
388 +@COND_i386_efi_TRUE@ kern/mm.c kern/time.c \
389 @COND_i386_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
390 @COND_i386_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
391 @COND_i386_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
392 @@ -25843,7 +25857,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
393 @COND_ia64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
394 @COND_ia64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
395 @COND_ia64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
396 -@COND_ia64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
397 +@COND_ia64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
398 +@COND_ia64_efi_TRUE@ kern/mm.c kern/time.c \
399 @COND_ia64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
400 @COND_ia64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
401 @COND_ia64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
402 @@ -25956,8 +25971,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
403 @COND_riscv32_efi_TRUE@ kern/efi/init.c kern/efi/mm.c \
404 @COND_riscv32_efi_TRUE@ term/efi/console.c kern/acpi.c \
405 @COND_riscv32_efi_TRUE@ kern/efi/acpi.c kern/efi/sb.c \
406 -@COND_riscv32_efi_TRUE@ kern/compiler-rt.c kern/mm.c \
407 -@COND_riscv32_efi_TRUE@ kern/time.c kern/generic/millisleep.c \
408 +@COND_riscv32_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
409 +@COND_riscv32_efi_TRUE@ kern/mm.c kern/time.c \
410 +@COND_riscv32_efi_TRUE@ kern/generic/millisleep.c \
411 @COND_riscv32_efi_TRUE@ kern/command.c kern/corecmd.c \
412 @COND_riscv32_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \
413 @COND_riscv32_efi_TRUE@ kern/env.c kern/err.c kern/file.c \
414 @@ -25974,9 +25990,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
415 @COND_riscv64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
416 @COND_riscv64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
417 @COND_riscv64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \
418 -@COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \
419 -@COND_riscv64_efi_TRUE@ kern/mm.c kern/time.c \
420 -@COND_riscv64_efi_TRUE@ kern/generic/millisleep.c \
421 +@COND_riscv64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \
422 +@COND_riscv64_efi_TRUE@ kern/compiler-rt.c kern/mm.c \
423 +@COND_riscv64_efi_TRUE@ kern/time.c kern/generic/millisleep.c \
424 @COND_riscv64_efi_TRUE@ kern/command.c kern/corecmd.c \
425 @COND_riscv64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \
426 @COND_riscv64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \
427 @@ -26022,8 +26038,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
428 @COND_x86_64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
429 @COND_x86_64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
430 @COND_x86_64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \
431 -@COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/compiler-rt.c \
432 -@COND_x86_64_efi_TRUE@ kern/mm.c kern/time.c \
433 +@COND_x86_64_efi_TRUE@ kern/efi/sb.c kern/lockdown.c \
434 +@COND_x86_64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
435 @COND_x86_64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
436 @COND_x86_64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
437 @COND_x86_64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
438 @@ -27994,6 +28010,8 @@ kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \
440 kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \
442 +kern/kernel_exec-lockdown.$(OBJEXT): kern/$(am__dirstamp) \
444 kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \
446 kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \
447 @@ -30945,6 +30963,7 @@ distclean-compile:
448 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-file.Po@am__quote@
449 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-fs.Po@am__quote@
450 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-list.Po@am__quote@
451 +@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-lockdown.Po@am__quote@
452 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-main.Po@am__quote@
453 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-misc.Po@am__quote@
454 @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-mm.Po@am__quote@
455 @@ -35293,6 +35312,20 @@ kern/efi/kernel_exec-sb.obj: kern/efi/sb.c
457 …LAGS) -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/s…
459 +kern/kernel_exec-lockdown.o: kern/lockdown.c
460 …-MT kern/kernel_exec-lockdown.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/ker…
461 …pCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-l…
462 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lock…
464 …rnel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-lockdown.o `test -f 'kern/lockdown.c' || echo '…
466 +kern/kernel_exec-lockdown.obj: kern/lockdown.c
467 …-MT kern/kernel_exec-lockdown.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/k…
468 …pCC_TRUE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-l…
469 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lock…
471 …) -c -o kern/kernel_exec-lockdown.obj `if test -f 'kern/lockdown.c'; then $(CYGPATH_W) 'kern/lockd…
473 kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c
474 …-MT kern/kernel_exec-compiler-rt.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo -c -o ke…
475 …UE@ $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-comp…
476 @@ -46650,8 +46683,10 @@ command.lst: $(MARKER_FILES)
478 sed -n \
479 -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
480 + -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
481 -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
482 - -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
483 + -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
484 + -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
485 done) | sort -u > $@
488 diff --git a/grub-core/commands/extcmd.c b/grub-core/commands/extcmd.c
490 --- a/grub-core/commands/extcmd.c
491 +++ b/grub-core/commands/extcmd.c
492 @@ -19,6 +19,7 @@
500 @@ -110,6 +111,28 @@ grub_register_extcmd (const char *name, grub_extcmd_func_t func,
511 + ctxt->extcmd->cmd->name);
529 diff --git a/grub-core/kern/command.c b/grub-core/kern/command.c
531 --- a/grub-core/kern/command.c
532 +++ b/grub-core/kern/command.c
533 @@ -17,6 +17,7 @@
541 @@ -77,6 +78,29 @@ grub_register_command_prio (const char *name,
553 + cmd->name);
571 diff --git a/grub-core/kern/lockdown.c b/grub-core/kern/lockdown.c
574 --- /dev/null
575 +++ b/grub-core/kern/lockdown.c
576 @@ -0,0 +1,80 @@
578 + * GRUB -- GRand Unified Bootloader
579 + * Copyright (C) 2020 Free Software Foundation, Inc.
657 diff --git a/include/grub/command.h b/include/grub/command.h
659 --- a/include/grub/command.h
661 @@ -86,6 +86,11 @@ EXPORT_FUNC(grub_register_command_prio) (const char *name,
673 diff --git a/include/grub/extcmd.h b/include/grub/extcmd.h
675 --- a/include/grub/extcmd.h
677 @@ -62,6 +62,13 @@ grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name,
691 diff --git a/include/grub/lockdown.h b/include/grub/lockdown.h
694 --- /dev/null
696 @@ -0,0 +1,44 @@
698 + * GRUB -- GRand Unified Bootloader
699 + * Copyright (C) 2020 Free Software Foundation, Inc.
741 diff --git a/po/POTFILES.in b/po/POTFILES.in
743 --- a/po/POTFILES.in
745 @@ -309,6 +309,7 @@
746 ./grub-core/kern/ieee1275/mmap.c
747 ./grub-core/kern/ieee1275/openfw.c
748 ./grub-core/kern/list.c
749 +./grub-core/kern/lockdown.c
750 ./grub-core/kern/main.c
751 ./grub-core/kern/mips/arc/init.c
752 ./grub-core/kern/mips/dl.c
753 @@ -1207,6 +1208,7 @@
761 --