From b59c13d42f42811912fd08f32f11e68a8e708c00 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Fri, 25 Sep 2020 12:50:19 +0200 Subject: efi_loader: installation of EFI_RNG_PROTOCOL Having an EFI_RNG_PROTOCOL without a backing RNG device leads to failure to boot Linux 5.8. Only install the EFI_RNG_PROTOCOL if we have a RNG device. Reported-by: Scott K Logan Cc: Neil Armstrong Cc: Ard Biesheuvel Signed-off-by: Heinrich Schuchardt --- include/efi_loader.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/efi_loader.h b/include/efi_loader.h index 0baa1d2324..7eea5566fd 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -154,7 +154,6 @@ extern const struct efi_hii_config_routing_protocol efi_hii_config_routing; extern const struct efi_hii_config_access_protocol efi_hii_config_access; extern const struct efi_hii_database_protocol efi_hii_database; extern const struct efi_hii_string_protocol efi_hii_string; -extern const struct efi_rng_protocol efi_rng_protocol; uint16_t *efi_dp_str(struct efi_device_path *dp); @@ -404,6 +403,8 @@ efi_status_t EFIAPI efi_convert_pointer(efi_uintn_t debug_disposition, efi_status_t efi_console_register(void); /* Called by bootefi to make all disk storage accessible as EFI objects */ efi_status_t efi_disk_register(void); +/* Called by efi_init_obj_list() to install EFI_RNG_PROTOCOL */ +efi_status_t efi_rng_register(void); /* Create handles and protocols for the partitions of a block device */ int efi_disk_create_partitions(efi_handle_t parent, struct blk_desc *desc, const char *if_typename, int diskid, -- cgit