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.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Borislav Petkov:
"More EFI fixes forwarded from Ard Biesheuvel:

- revert efivarfs kmemleak fix again - it was a false positive

- make CONFIG_EFI_EARLYCON depend on CONFIG_EFI explicitly so it does
not pull in other dependencies unnecessarily if CONFIG_EFI is not
set

- defer attempts to load SSDT overrides from EFI vars until after the
efivar layer is up"

* tag 'efi-urgent-for-v5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
efi: EFI_EARLYCON should depend on EFI
efivarfs: revert "fix memory leak in efivarfs_create()"
efi/efivars: Set generic ops before loading SSDT

+4 -3
+1 -1
drivers/firmware/efi/Kconfig
··· 270 270 271 271 config EFI_EARLYCON 272 272 def_bool y 273 - depends on SERIAL_EARLYCON && !ARM && !IA64 273 + depends on EFI && SERIAL_EARLYCON && !ARM && !IA64 274 274 select FONT_SUPPORT 275 275 select ARCH_USE_MEMREMAP_PROT 276 276
+1 -1
drivers/firmware/efi/efi.c
··· 390 390 391 391 if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE | 392 392 EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)) { 393 - efivar_ssdt_load(); 394 393 error = generic_ops_register(); 395 394 if (error) 396 395 goto err_put; 396 + efivar_ssdt_load(); 397 397 platform_device_register_simple("efivars", 0, NULL, 0); 398 398 } 399 399
+2
fs/efivarfs/inode.c
··· 7 7 #include <linux/efi.h> 8 8 #include <linux/fs.h> 9 9 #include <linux/ctype.h> 10 + #include <linux/kmemleak.h> 10 11 #include <linux/slab.h> 11 12 #include <linux/uuid.h> 12 13 ··· 104 103 var->var.VariableName[i] = '\0'; 105 104 106 105 inode->i_private = var; 106 + kmemleak_ignore(var); 107 107 108 108 err = efivar_entry_add(var, &efivarfs_list); 109 109 if (err)
-1
fs/efivarfs/super.c
··· 21 21 static void efivarfs_evict_inode(struct inode *inode) 22 22 { 23 23 clear_inode(inode); 24 - kfree(inode->i_private); 25 24 } 26 25 27 26 static const struct super_operations efivarfs_ops = {