]> git.itanic.dy.fi Git - linux-stable/commit
efi: libstub: check Shim mode using MokSBStateRT
authorArd Biesheuvel <ardb@kernel.org>
Tue, 20 Sep 2022 15:08:23 +0000 (17:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Sep 2022 09:10:27 +0000 (11:10 +0200)
commit85f9a2d51e72f558c9bbf94cd1ae7c73f80034de
tree82209bf922e42cef3e368cf943c73ef4a793aa10
parent3490ebe43505fb7b91e88a14019753a6c3f12d88
efi: libstub: check Shim mode using MokSBStateRT

commit 5f56a74cc0a6d9b9f8ba89cea29cd7c4774cb2b1 upstream.

We currently check the MokSBState variable to decide whether we should
treat UEFI secure boot as being disabled, even if the firmware thinks
otherwise. This is used by shim to indicate that it is not checking
signatures on boot images. In the kernel, we use this to relax lockdown
policies.

However, in cases where shim is not even being used, we don't want this
variable to interfere with lockdown, given that the variable may be
non-volatile and therefore persist across a reboot. This means setting
it once will persistently disable lockdown checks on a given system.

So switch to the mirrored version of this variable, called MokSBStateRT,
which is supposed to be volatile, and this is something we can check.

Cc: <stable@vger.kernel.org> # v4.19+
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/efi/libstub/secureboot.c