linux/drivers/firmware
Lenny Szubowicz 58c909022a efi: Support for MOK variable config table
Because of system-specific EFI firmware limitations, EFI volatile
variables may not be capable of holding the required contents of
the Machine Owner Key (MOK) certificate store when the certificate
list grows above some size. Therefore, an EFI boot loader may pass
the MOK certs via a EFI configuration table created specifically for
this purpose to avoid this firmware limitation.

An EFI configuration table is a much more primitive mechanism
compared to EFI variables and is well suited for one-way passage
of static information from a pre-OS environment to the kernel.

This patch adds initial kernel support to recognize, parse,
and validate the EFI MOK configuration table, where named
entries contain the same data that would otherwise be provided
in similarly named EFI variables.

Additionally, this patch creates a sysfs binary file for each
EFI MOK configuration table entry found. These files are read-only
to root and are provided for use by user space utilities such as
mokutil.

A subsequent patch will load MOK certs into the trusted platform
key ring using this infrastructure.

Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
Link: https://lore.kernel.org/r/20200905013107.10457-2-lszubowi@redhat.com
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-09-16 18:53:42 +03:00
..
arm_scmi firmware: arm_scmi: Use NULL instead of integer 0 for rate pointer 2020-07-17 16:06:54 +02:00
broadcom ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
efi efi: Support for MOK variable config table 2020-09-16 18:53:42 +03:00
google firmware: google: vpd: Replace zero-length array with flexible-array member 2020-06-15 23:08:21 -05:00
imx firmware: imx: Move i.MX SCU soc driver into imx firmware folder 2020-07-13 10:02:00 +08:00
meson firmware: meson_sm: Add secure power domain support 2020-02-14 11:37:34 -08:00
psci This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
smccc firmware: smccc: Add ARCH_SOC_ID support 2020-07-06 09:48:06 +01:00
tegra firmware: tegra: Add support for in-band debug 2020-07-14 18:01:50 +02:00
xilinx firmware: xilinx: Fix an error handling path in 'zynqmp_firmware_probe()' 2020-05-15 16:20:02 +02:00
arm_scpi.c firmware: arm_scpi: Replace zero-length array with flexible-array member 2020-02-20 17:13:59 +00:00
arm_sdei.c uaccess: add force_uaccess_{begin,end} helpers 2020-08-12 10:57:59 -07:00
dmi_scan.c firmware/dmi: Report DMI Bios & EC firmware release 2020-06-06 11:35:50 +02:00
dmi-id.c firmware/dmi: Report DMI Bios & EC firmware release 2020-06-06 11:35:50 +02:00
dmi-sysfs.c firmware: dmi-sysfs: Replace zero-length array with flexible-array member 2020-06-15 23:08:04 -05:00
edd.c edd: Use scnprintf() for avoiding potential buffer overflow 2020-04-02 20:42:29 +02:00
iscsi_ibft_find.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 287 2019-06-05 17:36:37 +02:00
iscsi_ibft.c ibft: Replace zero-length array with flexible-array 2020-06-15 23:08:31 -05:00
Kconfig pci-v5.8-changes 2020-06-06 11:01:58 -07:00
Makefile firmware: smccc: Refactor SMCCC specific bits into separate file 2020-05-20 19:10:37 +01:00
memmap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 287 2019-06-05 17:36:37 +02:00
pcdp.c efi/ia64: Move HCDP and MPS table handling into IA64 arch code 2020-02-23 21:59:42 +01:00
pcdp.h firmware: pcdp: Replace zero-length array with flexible-array 2020-06-15 23:08:32 -05:00
qcom_scm-legacy.c firmware: qcom_scm-legacy: Replace zero-length array with flexible-array 2020-05-12 15:16:33 -07:00
qcom_scm-smc.c firmware: qcom_scm: Dynamically support SMCCC and legacy conventions 2020-01-07 22:14:43 -08:00
qcom_scm.c SCSI misc on 20200806 2020-08-06 16:50:07 -07:00
qcom_scm.h scsi: firmware: qcom_scm: Add support for programming inline crypto keys 2020-07-24 22:09:54 -04:00
qemu_fw_cfg.c firmware: Fix a reference count leak. 2020-07-29 13:13:50 -04:00
raspberrypi.c It looks like a smaller batch of clk updates this time around. In the core 2020-08-07 13:35:51 -07:00
scpi_pm_domain.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
stratix10-rsu.c firmware: stratix10-rsu: fix warnings 2020-07-02 14:48:48 +02:00
stratix10-svc.c firmware: stratix10-svc: extend svc to support new RSU features 2020-07-02 14:48:48 +02:00
ti_sci.c firmware: ti_sci: Replace HTTP links with HTTPS ones 2020-07-24 14:44:52 -07:00
ti_sci.h firmware: ti_sci: Replace HTTP links with HTTPS ones 2020-07-24 14:44:52 -07:00
trusted_foundations.c firmware: tf: Different way of L2 cache enabling after LP2 suspend 2020-05-06 18:27:26 +02:00
turris-mox-rwtm.c firmware: turris-mox-rwtm: support ECDSA signatures via debugfs 2020-07-18 22:35:01 +02:00