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-urgent-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Borislav Petkov:
"Forwarded from Ard Biesheuvel through the tip tree. Ard will send
stuff directly in the near future.

Low priority fixes but fixes nonetheless:

- update stub diagnostic print that is no longer accurate

- avoid statically allocated buffer for CPER error record decoding

- avoid sleeping on the efi_runtime semaphore when calling the
ResetSystem EFI runtime service"

* tag 'efi-urgent-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock()
efi/cper: use stack buffer for error record decoding
efi/libstub: Simplify "Exiting bootservices" message

+4 -4
+2 -2
drivers/firmware/efi/cper.c
··· 25 25 #include <acpi/ghes.h> 26 26 #include <ras/ras_event.h> 27 27 28 - static char rcd_decode_str[CPER_REC_LEN]; 29 - 30 28 /* 31 29 * CPER record ID need to be unique even after reboot, because record 32 30 * ID is used as index for ERST storage, while CPER records from ··· 310 312 struct cper_mem_err_compact *cmem) 311 313 { 312 314 const char *ret = trace_seq_buffer_ptr(p); 315 + char rcd_decode_str[CPER_REC_LEN]; 313 316 314 317 if (cper_mem_err_location(cmem, rcd_decode_str)) 315 318 trace_seq_printf(p, "%s", rcd_decode_str); ··· 325 326 int len) 326 327 { 327 328 struct cper_mem_err_compact cmem; 329 + char rcd_decode_str[CPER_REC_LEN]; 328 330 329 331 /* Don't trust UEFI 2.1/2.2 structure with bad validation bits */ 330 332 if (len == sizeof(struct cper_sec_mem_err_old) &&
+1 -1
drivers/firmware/efi/libstub/fdt.c
··· 271 271 return status; 272 272 } 273 273 274 - efi_info("Exiting boot services and installing virtual address map...\n"); 274 + efi_info("Exiting boot services...\n"); 275 275 276 276 map.map = &memory_map; 277 277 status = efi_allocate_pages(MAX_FDT_SIZE, new_fdt_addr, ULONG_MAX);
+1 -1
drivers/firmware/efi/runtime-wrappers.c
··· 414 414 unsigned long data_size, 415 415 efi_char16_t *data) 416 416 { 417 - if (down_interruptible(&efi_runtime_lock)) { 417 + if (down_trylock(&efi_runtime_lock)) { 418 418 pr_warn("failed to invoke the reset_system() runtime service:\n" 419 419 "could not get exclusive access to the firmware\n"); 420 420 return;