efi: Add EFI shim lock verifier
commit878398c1a39079a54c2836e27e9d1b0eb67a66cd
authorDaniel Kiper <daniel.kiper@oracle.com>
Fri, 3 Aug 2018 11:25:44 +0000 (3 13:25 +0200)
committerDaniel Kiper <daniel.kiper@oracle.com>
Fri, 9 Nov 2018 12:25:31 +0000 (9 13:25 +0100)
tree7fff1de9165f8e9b72cec42aded58a2eab1f76f7
parentee7808e2197cbf5e8515d90ecbd81c9d0dd6fc15
efi: Add EFI shim lock verifier

This module provides shim lock verification for various kernels
if UEFI secure boot is enabled on a machine.

It is recommended to put this module into GRUB2 standalone image
(avoid putting iorw and memrw modules into it; they are disallowed
if UEFI secure boot is enabled). However, it is also possible to use
it as a normal module. Though such configurations are more fragile
and less secure due to various limitations.

If the module is loaded and UEFI secure boot is enabled then:
  - module itself cannot be unloaded (persistent module),
  - the iorw and memrw modules cannot be loaded,
  - if the iorw and memrw modules are loaded then
    machine boot is disabled,
  - GRUB2 defers modules and ACPI tables verification to
    other verifiers.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
docs/grub.texi
grub-core/Makefile.core.def
grub-core/commands/efi/shim_lock.c [new file with mode: 0644]