Skip to content

Commit 1abcb8c

Browse files
committed
Merge tag 'efi-next-for-v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi
Pull EFI updates from Ard Biesheuvel: "Not a lot happening in EFI land this cycle. - Prevent kexec from crashing on a corrupted TPM log by using a memory type that is reserved by default - Log correctable errors reported via CPER - A couple of cosmetic fixes" * tag 'efi-next-for-v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: efi: Remove redundant null pointer checks in efi_debugfs_init() efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption efi/cper: Print correctable AER information efi: Remove unused declaration efi_initialize_iomem_resources()
2 parents a78282e + 04736f7 commit 1abcb8c

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

drivers/firmware/efi/cper.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,12 +434,17 @@ static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie,
434434
"%s""bridge: secondary_status: 0x%04x, control: 0x%04x\n",
435435
pfx, pcie->bridge.secondary_status, pcie->bridge.control);
436436

437-
/* Fatal errors call __ghes_panic() before AER handler prints this */
438-
if ((pcie->validation_bits & CPER_PCIE_VALID_AER_INFO) &&
439-
(gdata->error_severity & CPER_SEV_FATAL)) {
437+
/*
438+
* Print all valid AER info. Record may be from BERT (boot-time) or GHES (run-time).
439+
*
440+
* Fatal errors call __ghes_panic() before AER handler prints this.
441+
*/
442+
if (pcie->validation_bits & CPER_PCIE_VALID_AER_INFO) {
440443
struct aer_capability_regs *aer;
441444

442445
aer = (struct aer_capability_regs *)pcie->aer_info;
446+
printk("%saer_cor_status: 0x%08x, aer_cor_mask: 0x%08x\n",
447+
pfx, aer->cor_status, aer->cor_mask);
443448
printk("%saer_uncor_status: 0x%08x, aer_uncor_mask: 0x%08x\n",
444449
pfx, aer->uncor_status, aer->uncor_mask);
445450
printk("%saer_uncor_severity: 0x%08x\n",

drivers/firmware/efi/efi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ static void __init efi_debugfs_init(void)
349349
int i = 0;
350350

351351
efi_debugfs = debugfs_create_dir("efi", NULL);
352-
if (IS_ERR_OR_NULL(efi_debugfs))
352+
if (IS_ERR(efi_debugfs))
353353
return;
354354

355355
for_each_efi_memory_desc(md) {

drivers/firmware/efi/libstub/tpm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ static void efi_retrieve_tcg2_eventlog(int version, efi_physical_addr_t log_loca
9696
}
9797

9898
/* Allocate space for the logs and copy them. */
99-
status = efi_bs_call(allocate_pool, EFI_LOADER_DATA,
99+
status = efi_bs_call(allocate_pool, EFI_ACPI_RECLAIM_MEMORY,
100100
sizeof(*log_tbl) + log_size, (void **)&log_tbl);
101101

102102
if (status != EFI_SUCCESS) {

include/linux/efi.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,8 +764,6 @@ extern int efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
764764
extern int __efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
765765
extern void efi_mem_reserve(phys_addr_t addr, u64 size);
766766
extern int efi_mem_reserve_persistent(phys_addr_t addr, u64 size);
767-
extern void efi_initialize_iomem_resources(struct resource *code_resource,
768-
struct resource *data_resource, struct resource *bss_resource);
769767
extern u64 efi_get_fdt_params(struct efi_memory_map_data *data);
770768
extern struct kobject *efi_kobj;
771769

0 commit comments

Comments
 (0)