Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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()

+10 -7
+8 -3
drivers/firmware/efi/cper.c
··· 434 434 "%s""bridge: secondary_status: 0x%04x, control: 0x%04x\n", 435 435 pfx, pcie->bridge.secondary_status, pcie->bridge.control); 436 436 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) { 440 443 struct aer_capability_regs *aer; 441 444 442 445 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); 443 448 printk("%saer_uncor_status: 0x%08x, aer_uncor_mask: 0x%08x\n", 444 449 pfx, aer->uncor_status, aer->uncor_mask); 445 450 printk("%saer_uncor_severity: 0x%08x\n",
+1 -1
drivers/firmware/efi/efi.c
··· 349 349 int i = 0; 350 350 351 351 efi_debugfs = debugfs_create_dir("efi", NULL); 352 - if (IS_ERR_OR_NULL(efi_debugfs)) 352 + if (IS_ERR(efi_debugfs)) 353 353 return; 354 354 355 355 for_each_efi_memory_desc(md) {
+1 -1
drivers/firmware/efi/libstub/tpm.c
··· 96 96 } 97 97 98 98 /* 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, 100 100 sizeof(*log_tbl) + log_size, (void **)&log_tbl); 101 101 102 102 if (status != EFI_SUCCESS) {
-2
include/linux/efi.h
··· 764 764 extern int __efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md); 765 765 extern void efi_mem_reserve(phys_addr_t addr, u64 size); 766 766 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); 769 767 extern u64 efi_get_fdt_params(struct efi_memory_map_data *data); 770 768 extern struct kobject *efi_kobj; 771 769