[GIT,PULL] efi/urgent for v5.10-rc6
diff mbox series

Message ID 20201129104209.GB12056@zn.tnic
State Accepted
Commit 1214917e008bb8989747b8bf9a721f7a6db8f8d7
Headers show
Series
  • [GIT,PULL] efi/urgent for v5.10-rc6
Related show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/efi-urgent-for-v5.10-rc5

Commit Message

Borislav Petkov Nov. 29, 2020, 10:42 a.m. UTC
Hi Linus,

please pull more forwarded EFI urgent fixes.

Thx.

---
The following changes since commit c2fe61d8be491ff8188edaf22e838f819999146b:

  efi/x86: Free efi_pgd with free_pages() (2020-11-10 19:18:11 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/efi-urgent-for-v5.10-rc5

for you to fetch changes up to 36a237526cd81ff4b6829e6ebd60921c6f976e3b:

  efi: EFI_EARLYCON should depend on EFI (2020-11-25 16:55:02 +0100)

----------------------------------------------------------------
More EFI fixes for v5.10-rc:
- 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.

----------------------------------------------------------------
Amadeusz Sławiński (1):
      efi/efivars: Set generic ops before loading SSDT

Ard Biesheuvel (1):
      efivarfs: revert "fix memory leak in efivarfs_create()"

Geert Uytterhoeven (1):
      efi: EFI_EARLYCON should depend on EFI

 drivers/firmware/efi/Kconfig | 2 +-
 drivers/firmware/efi/efi.c   | 2 +-
 fs/efivarfs/inode.c          | 2 ++
 fs/efivarfs/super.c          | 1 -
 4 files changed, 4 insertions(+), 3 deletions(-)

Comments

Linus Torvalds Nov. 29, 2020, 6:32 p.m. UTC | #1
On Sun, Nov 29, 2020 at 2:42 AM Borislav Petkov <bp@suse.de> wrote:
>
> please pull more forwarded EFI urgent fixes.

Ard seems to be using almost random signing of his tags. Last time it
was signed with subkey 9CD2A0DA, this time it's subkey FBD9627C.

I see that it's all the same primary key, and I'm pretty sure it's
simply because the 9CD2A0DA subkey is about to expire, but these
things take me by surprise when I suddenly see a new key like that.

It would be good to get a heads-up, because otherwise I end up
spending time looking at why I suddenly see a new key...

This is not a problem, it's just a note for people to try to avoid
surprising me..

          Linus
Borislav Petkov Nov. 29, 2020, 6:41 p.m. UTC | #2
On Sun, Nov 29, 2020 at 10:32:31AM -0800, Linus Torvalds wrote:
> This is not a problem, it's just a note for people to try to avoid
> surprising me..

Oh, sorry, forgot to mention: he surprised me too and I asked. He said
he's updated his subkeys, yeah, perhaps because they're about to expire
and the updated keys are here:

git://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git

commit cd6bb63b8f84d50b17050f21ec657c3882bcf72b
Author: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Date:   Fri Nov 27 10:04:21 2020 -0500

    Update 3D200E9CA6329909 (Ard Biesheuvel)

Thx.
pr-tracker-bot@kernel.org Nov. 29, 2020, 8:06 p.m. UTC | #3
The pull request you sent on Sun, 29 Nov 2020 11:42:09 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/efi-urgent-for-v5.10-rc5

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/1214917e008bb8989747b8bf9a721f7a6db8f8d7

Thank you!

Patch
diff mbox series

diff --git a/drivers/firmware/efi/Kconfig b/drivers/firmware/efi/Kconfig
index 36ec1f718893..d9895491ff34 100644
--- a/drivers/firmware/efi/Kconfig
+++ b/drivers/firmware/efi/Kconfig
@@ -270,7 +270,7 @@  config EFI_DEV_PATH_PARSER
 
 config EFI_EARLYCON
 	def_bool y
-	depends on SERIAL_EARLYCON && !ARM && !IA64
+	depends on EFI && SERIAL_EARLYCON && !ARM && !IA64
 	select FONT_SUPPORT
 	select ARCH_USE_MEMREMAP_PROT
 
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index 5e5480a0a32d..6c6eec044a97 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -390,10 +390,10 @@  static int __init efisubsys_init(void)
 
 	if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE |
 				      EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)) {
-		efivar_ssdt_load();
 		error = generic_ops_register();
 		if (error)
 			goto err_put;
+		efivar_ssdt_load();
 		platform_device_register_simple("efivars", 0, NULL, 0);
 	}
 
diff --git a/fs/efivarfs/inode.c b/fs/efivarfs/inode.c
index 96c0c86f3fff..0297ad95eb5c 100644
--- a/fs/efivarfs/inode.c
+++ b/fs/efivarfs/inode.c
@@ -7,6 +7,7 @@ 
 #include <linux/efi.h>
 #include <linux/fs.h>
 #include <linux/ctype.h>
+#include <linux/kmemleak.h>
 #include <linux/slab.h>
 #include <linux/uuid.h>
 
@@ -103,6 +104,7 @@  static int efivarfs_create(struct inode *dir, struct dentry *dentry,
 	var->var.VariableName[i] = '\0';
 
 	inode->i_private = var;
+	kmemleak_ignore(var);
 
 	err = efivar_entry_add(var, &efivarfs_list);
 	if (err)
diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
index f943fd0b0699..15880a68faad 100644
--- a/fs/efivarfs/super.c
+++ b/fs/efivarfs/super.c
@@ -21,7 +21,6 @@  LIST_HEAD(efivarfs_list);
 static void efivarfs_evict_inode(struct inode *inode)
 {
 	clear_inode(inode);
-	kfree(inode->i_private);
 }
 
 static const struct super_operations efivarfs_ops = {