Skip to contentSkip to conversation

wire up IMA secure boot for arm64

PATCH In review Ard Biesheuvel 4 participants 16 messages Nov 2, 2020 – Nov 14, 2020

Subsystems (7)
x86 arm64 Security (LSM) EFI +3 more subsystems
lore
Share & tools
lore

Ard Biesheuvel

author maintainer
#0 lore raw

v4 cover wire up IMA secure boot for arm64

This is a follow-up to Chester's series [0] to enable IMA to the secure boot state of arm64 platforms, which is EFI based.

This v4 implements the changes I suggested to Chester, in particular:
- disregard MokSbState when factoring out secure boot mode discovery
- turn the x86 IMA arch code into shared code for all architectures.

This reduces the final patch to a one liner enabling a Kconfig option for arm64 when EFI is enabled.

Build tested only.

[0] https://lore.kernel.org/linux-arm-kernel/[email protected]/

Chester Lin (3):
efi: generalize efi_get_secureboot
ima: generalize x86/EFI arch glue for other EFI architectures arm64/ima: add ima_arch support

 arch/arm64/Kconfig                            |  1 +
 arch/x86/boot/compressed/Makefile             |  2 +-
 arch/x86/include/asm/efi.h                    |  3 ++
 arch/x86/kernel/Makefile                      |  2 -
 drivers/firmware/efi/libstub/efistub.h        |  2 +
 drivers/firmware/efi/libstub/secureboot.c     | 41 +++++++----------
 include/linux/efi.h                           | 23 +++++++++-
 security/integrity/ima/Makefile               |  4 ++
 .../integrity/ima/ima_efi.c                   | 45 +++++--------------
 9 files changed, 60 insertions(+), 63 deletions(-)
 rename arch/x86/kernel/ima_arch.c => security/integrity/ima/ima_efi.c (60%)
Signature · 1 line
2.17.1
author maintainer
#1 lore raw

PATCH v4 1/3 efi: generalize efi_get_secureboot

From: Chester Lin <[email protected]>

Generalize the efi_get_secureboot() function so not only efistub but also other subsystems can use it.

Note that the MokSbState handling is not factored out: the variable is boot time only, and so it cannot be parameterized as easily. Also, the IMA code will switch to this version in a future patch, and it does not incorporate the MokSbState exception in the first place.

Note that the new efi_get_secureboot_mode() helper treats any failures to read SetupMode as setup mode being disabled.

---
 arch/x86/boot/compressed/Makefile         |  2 +-
 drivers/firmware/efi/libstub/efistub.h    |  2 +
 drivers/firmware/efi/libstub/secureboot.c | 41 +++++++-------------
 include/linux/efi.h                       | 23 ++++++++++-
 4 files changed, 40 insertions(+), 28 deletions(-)
arch/x86/boot/compressed/Makefile +1 -1
index ee249088cbfe..8d358a6fe6ec 100644
@@ -35,7 +35,7 @@ cflags-$(CONFIG_X86_32) := -march=i386
 cflags-$(CONFIG_X86_64) := -mcmodel=small -mno-red-zone
 KBUILD_CFLAGS += $(cflags-y)
 KBUILD_CFLAGS += -mno-mmx -mno-sse
-KBUILD_CFLAGS += -ffreestanding
+KBUILD_CFLAGS += -ffreestanding -fshort-wchar
 KBUILD_CFLAGS += -fno-stack-protector
 KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
 KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
drivers/firmware/efi/libstub/efistub.h +2 -0
index 2d7abcd99de9..b8ec29d6a74a 100644
@@ -848,4 +848,6 @@ asmlinkage void __noreturn efi_enter_kernel(unsigned long entrypoint,
 
 void efi_handle_post_ebs_state(void);
 
+enum efi_secureboot_mode efi_get_secureboot(void);
+
 #endif
drivers/firmware/efi/libstub/secureboot.c +15 -26

64 lines not on this page · raw message

include/linux/efi.h +22 -1
index bd9d83a94173..79b2d4de62e0 100644
@@ -1082,7 +1082,28 @@ enum efi_secureboot_mode {
 	efi_secureboot_mode_disabled,
 	efi_secureboot_mode_enabled,
 };
-enum efi_secureboot_mode efi_get_secureboot(void);
+
+static inline
+enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)
+{
+	u8 secboot, setupmode = 0;
+	efi_status_t status;
+	unsigned long size;
+
+	size = sizeof(secboot);
+	status = get_var(L"SecureBoot", &EFI_GLOBAL_VARIABLE_GUID, NULL, &size,
+			 &secboot);
+	if (status == EFI_NOT_FOUND)
+		return efi_secureboot_mode_disabled;
+	if (status != EFI_SUCCESS)
+		return efi_secureboot_mode_unknown;
+
+	size = sizeof(setupmode);
+	get_var(L"SetupMode", &EFI_GLOBAL_VARIABLE_GUID, NULL, &size, &setupmode);
+	if (secboot == 0 || setupmode == 1)
+		return efi_secureboot_mode_disabled;
+	return efi_secureboot_mode_enabled;
+}
 
 #ifdef CONFIG_RESET_ATTACK_MITIGATION
 void efi_enable_reset_attack_mitigation(void);
Signature · 1 line
2.17.1
maintainer
#2 lore raw

Re: [PATCH v4 1/3] efi: generalize efi_get_secureboot

Quoted 10 lines · Ard Biesheuvel

From: Chester Lin <[email protected]>

Generalize the efi_get_secureboot() function so not only efistub but also other subsystems can use it.

Note that the MokSbState handling is not factored out: the variable is boot time only, and so it cannot be parameterized as easily. Also, the IMA code will switch to this version in a future patch, and it does not incorporate the MokSbState exception in the first place.

Quoted 6 lines

Note that the new efi_get_secureboot_mode() helper treats any failures to read SetupMode as setup mode being disabled.

Thanks, Ard. Other than one minor thing inline below, the patch looks good. I haven't done any testing yet.

include/linux/efi.h enum efi_secureboot_mode { · line 1087

Quoted 12 lines
include/linux/efi.h +3 -1
index bd9d83a94173..79b2d4de62e0 100644
@@ -1082,7 +1082,28 @@ enum efi_secureboot_mode {
 	efi_secureboot_mode_disabled,
 	efi_secureboot_mode_enabled,
 };
-enum efi_secureboot_mode efi_get_secureboot(void);
+
+static inline
+enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)

get_var() should be defined as "efi_status_t". If this is being
upstreamed via integrity, I can make the change.

thanks,

Mimi

author maintainer
#3 lore raw

Re: [PATCH v4 1/3] efi: generalize efi_get_secureboot

Quoted 22 lines · Mimi Zohar
Quoted 10 lines · Ard Biesheuvel

From: Chester Lin <[email protected]>

Generalize the efi_get_secureboot() function so not only efistub but also other subsystems can use it.

Note that the MokSbState handling is not factored out: the variable is boot time only, and so it cannot be parameterized as easily. Also, the IMA code will switch to this version in a future patch, and it does not incorporate the MokSbState exception in the first place.

Quoted 6 lines

Note that the new efi_get_secureboot_mode() helper treats any failures to read SetupMode as setup mode being disabled.

Thanks, Ard. Other than one minor thing inline below, the patch looks good. I haven't done any testing yet.

Quoted 16 lines

include/linux/efi.h enum efi_secureboot_mode { · line 1087

Quoted 12 lines
include/linux/efi.h +3 -1
index bd9d83a94173..79b2d4de62e0 100644
@@ -1082,7 +1082,28 @@ enum efi_secureboot_mode {
      efi_secureboot_mode_disabled,
      efi_secureboot_mode_enabled,
 };
-enum efi_secureboot_mode efi_get_secureboot(void);
+
+static inline
+enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)

get_var() should be defined as "efi_status_t". If this is being
upstreamed via integrity, I can make the change.

No, get_var is a pointer to a function returning efi_status_t, check include/linux/efi.h for details.

maintainer
#4 lore raw

Re: [PATCH v4 1/3] efi: generalize efi_get_secureboot

Quoted 6 lines · Ard Biesheuvel
Quoted 3 lines

get_var() should be defined as "efi_status_t". If this is being
upstreamed via integrity, I can make the change.

No, get_var is a pointer to a function returning efi_status_t, check include/linux/efi.h for details.

Got it.

thanks,

Mimi

author maintainer
#5 lore raw

PATCH v4 2/3 ima: generalize x86/EFI arch glue for other EFI architectures

In reply to Ard Biesheuvel

From: Chester Lin <[email protected]>

Move the x86 IMA arch code into security/integrity/ima/ima_efi.c, so that we will be able to wire it up for arm64 in a future patch.

---
 arch/x86/include/asm/efi.h                                     |  3 ++
 arch/x86/kernel/Makefile                                       |  2 -
 security/integrity/ima/Makefile                                |  4 ++
 arch/x86/kernel/ima_arch.c => security/integrity/ima/ima_efi.c | 45 ++++++--------------
 4 files changed, 19 insertions(+), 35 deletions(-)
arch/x86/include/asm/efi.h +3 -0
index 7673dc833232..c98f78330b09 100644
@@ -380,4 +380,7 @@ static inline void efi_fake_memmap_early(void)
 }
 #endif
 
+#define arch_ima_efi_boot_mode	\
+	({ extern struct boot_params boot_params; boot_params.secure_boot; })
+
 #endif /* _ASM_X86_EFI_H */
arch/x86/kernel/Makefile +0 -2
index 68608bd892c0..5eeb808eb024 100644
@@ -161,5 +161,3 @@ ifeq ($(CONFIG_X86_64),y)
 	obj-$(CONFIG_MMCONF_FAM10H)	+= mmconf-fam10h_64.o
 	obj-y				+= vsmp_64.o
 endif
-
-obj-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT)	+= ima_arch.o
security/integrity/ima/Makefile +4 -0
index 67dabca670e2..2499f2485c04 100644
@@ -14,3 +14,7 @@ ima-$(CONFIG_HAVE_IMA_KEXEC) += ima_kexec.o
 ima-$(CONFIG_IMA_BLACKLIST_KEYRING) += ima_mok.o
 ima-$(CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS) += ima_asymmetric_keys.o
 ima-$(CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS) += ima_queue_keys.o
+
+ifeq ($(CONFIG_EFI),y)
+ima-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_efi.o
+endif
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +12 -33

69 lines not on this page · raw message

Signature · 1 line
2.17.1
#6 lore raw

Re: [PATCH v4 2/3] ima: generalize x86/EFI arch glue for other EFI architectures

Hi Ard,

Quoted 57 lines · Ard Biesheuvel

From: Chester Lin <[email protected]>

Move the x86 IMA arch code into security/integrity/ima/ima_efi.c, so that we will be able to wire it up for arm64 in a future patch.

---
 arch/x86/include/asm/efi.h                                     |  3 ++
 arch/x86/kernel/Makefile                                       |  2 -
 security/integrity/ima/Makefile                                |  4 ++
 arch/x86/kernel/ima_arch.c => security/integrity/ima/ima_efi.c | 45 ++++++--------------
 4 files changed, 19 insertions(+), 35 deletions(-)
arch/x86/include/asm/efi.h +3 -0
index 7673dc833232..c98f78330b09 100644
@@ -380,4 +380,7 @@ static inline void efi_fake_memmap_early(void)
 }
 #endif
 
+#define arch_ima_efi_boot_mode	\
+	({ extern struct boot_params boot_params; boot_params.secure_boot; })
+
 #endif /* _ASM_X86_EFI_H */
arch/x86/kernel/Makefile +0 -2
index 68608bd892c0..5eeb808eb024 100644
@@ -161,5 +161,3 @@ ifeq ($(CONFIG_X86_64),y)
 	obj-$(CONFIG_MMCONF_FAM10H)	+= mmconf-fam10h_64.o
 	obj-y				+= vsmp_64.o
 endif
-
-obj-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT)	+= ima_arch.o
security/integrity/ima/Makefile +4 -0
index 67dabca670e2..2499f2485c04 100644
@@ -14,3 +14,7 @@ ima-$(CONFIG_HAVE_IMA_KEXEC) += ima_kexec.o
 ima-$(CONFIG_IMA_BLACKLIST_KEYRING) += ima_mok.o
 ima-$(CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS) += ima_asymmetric_keys.o
 ima-$(CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS) += ima_queue_keys.o
+
+ifeq ($(CONFIG_EFI),y)
+ima-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_efi.o
+endif
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +0 -0
similarity index 60%
rename from arch/x86/kernel/ima_arch.c
rename to security/integrity/ima/ima_efi.c
index 7dfb1e808928..233627a9d4b8 100644

security/integrity/ima/ima_efi.c line 11

Quoted 8 lines
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +3 -1
@@ -5,50 +5,29 @@
 #include <linux/efi.h>
 #include <linux/module.h>
 #include <linux/ima.h>
+#include <asm/efi.h>
 
-extern struct boot_params boot_params;
+#ifndef arch_ima_efi_boot_mode
+#define arch_ima_efi_boot_mode efi_secureboot_mode_unknown

I think this should be "efi_secureboot_mode_unset" otherwise the get_sb_mode() will never be called. The others look good to me, thanks for your help.

Regards,
Chester

Quoted 65 lines
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +9 -32
+#endif
 
 static enum efi_secureboot_mode get_sb_mode(void)
 {
-	efi_guid_t efi_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
-	efi_status_t status;
-	unsigned long size;
-	u8 secboot, setupmode;
-
-	size = sizeof(secboot);
+	enum efi_secureboot_mode mode;
 
 	if (!efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE)) {
 		pr_info("ima: secureboot mode unknown, no efi\n");
 		return efi_secureboot_mode_unknown;
 	}
 
-	/* Get variable contents into buffer */
-	status = efi.get_variable(L"SecureBoot", &efi_variable_guid,
-				  NULL, &size, &secboot);
-	if (status == EFI_NOT_FOUND) {
+	mode = efi_get_secureboot_mode(efi.get_variable);
+	if (mode == efi_secureboot_mode_disabled)
 		pr_info("ima: secureboot mode disabled\n");
-		return efi_secureboot_mode_disabled;
-	}
-
-	if (status != EFI_SUCCESS) {
+	else if (mode == efi_secureboot_mode_unknown)
 		pr_info("ima: secureboot mode unknown\n");
-		return efi_secureboot_mode_unknown;
-	}
-
-	size = sizeof(setupmode);
-	status = efi.get_variable(L"SetupMode", &efi_variable_guid,
-				  NULL, &size, &setupmode);
-
-	if (status != EFI_SUCCESS)	/* ignore unknown SetupMode */
-		setupmode = 0;
-
-	if (secboot == 0 || setupmode == 1) {
-		pr_info("ima: secureboot mode disabled\n");
-		return efi_secureboot_mode_disabled;
-	}
-
-	pr_info("ima: secureboot mode enabled\n");
-	return efi_secureboot_mode_enabled;
+	else
+		pr_info("ima: secureboot mode enabled\n");
+	return mode;
 }
 
 bool arch_ima_get_secureboot(void)
@@ -57,7 +36,7 @@ bool arch_ima_get_secureboot(void)
 	static bool initialized;
 
 	if (!initialized && efi_enabled(EFI_BOOT)) {
-		sb_mode = boot_params.secure_boot;
+		sb_mode = arch_ima_efi_boot_mode;
 
 		if (sb_mode == efi_secureboot_mode_unset)
 			sb_mode = get_sb_mode();
Signature · 1 line
2.17.1
author maintainer
#7 lore raw

Re: [PATCH v4 2/3] ima: generalize x86/EFI arch glue for other EFI architectures

Quoted 66 lines · Chester Lin

Hi Ard,

Quoted 62 lines · Ard Biesheuvel

From: Chester Lin <[email protected]>

Move the x86 IMA arch code into security/integrity/ima/ima_efi.c, so that we will be able to wire it up for arm64 in a future patch.

---
 arch/x86/include/asm/efi.h                                     |  3 ++
 arch/x86/kernel/Makefile                                       |  2 -
 security/integrity/ima/Makefile                                |  4 ++
 arch/x86/kernel/ima_arch.c => security/integrity/ima/ima_efi.c | 45 ++++++--------------
 4 files changed, 19 insertions(+), 35 deletions(-)
arch/x86/include/asm/efi.h +3 -0
index 7673dc833232..c98f78330b09 100644
@@ -380,4 +380,7 @@ static inline void efi_fake_memmap_early(void)
 }
 #endif
 
+#define arch_ima_efi_boot_mode       \
+     ({ extern struct boot_params boot_params; boot_params.secure_boot; })
+
 #endif /* _ASM_X86_EFI_H */
arch/x86/kernel/Makefile +0 -2
index 68608bd892c0..5eeb808eb024 100644
@@ -161,5 +161,3 @@ ifeq ($(CONFIG_X86_64),y)
      obj-$(CONFIG_MMCONF_FAM10H)     += mmconf-fam10h_64.o
      obj-y                           += vsmp_64.o
 endif
-
-obj-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_arch.o
security/integrity/ima/Makefile +4 -0
index 67dabca670e2..2499f2485c04 100644
@@ -14,3 +14,7 @@ ima-$(CONFIG_HAVE_IMA_KEXEC) += ima_kexec.o
 ima-$(CONFIG_IMA_BLACKLIST_KEYRING) += ima_mok.o
 ima-$(CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS) += ima_asymmetric_keys.o
 ima-$(CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS) += ima_queue_keys.o
+
+ifeq ($(CONFIG_EFI),y)
+ima-$(CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT) += ima_efi.o
+endif
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +1 -0
similarity index 60%
rename from arch/x86/kernel/ima_arch.c
rename to security/integrity/ima/ima_efi.c
index 7dfb1e808928..233627a9d4b8 100644
@@ -5,50 +5,29 @@
 #include <linux/efi.h>
 #include <linux/module.h>
 #include <linux/ima.h>
+#include <asm/efi.h>
 
Quoted 7 lines

security/integrity/ima/ima_efi.c line 11

Quoted 3 lines
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +2 -1
-extern struct boot_params boot_params;
+#ifndef arch_ima_efi_boot_mode
+#define arch_ima_efi_boot_mode efi_secureboot_mode_unknown

I think this should be "efi_secureboot_mode_unset" otherwise the get_sb_mode() will never be called. The others look good to me, thanks for your help.

Thanks Chester! I will fix that up.

Quoted 66 lines
Quoted 65 lines
security/integrity/ima/ima_efi.c renamed from arch/x86/kernel/ima_arch.c +9 -33
+#endif
 
 static enum efi_secureboot_mode get_sb_mode(void)
 {
-     efi_guid_t efi_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
-     efi_status_t status;
-     unsigned long size;
-     u8 secboot, setupmode;
-
-     size = sizeof(secboot);
+     enum efi_secureboot_mode mode;
 
      if (!efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE)) {
              pr_info("ima: secureboot mode unknown, no efi\n");
              return efi_secureboot_mode_unknown;
      }
 
-     /* Get variable contents into buffer */
-     status = efi.get_variable(L"SecureBoot", &efi_variable_guid,
-                               NULL, &size, &secboot);
-     if (status == EFI_NOT_FOUND) {
+     mode = efi_get_secureboot_mode(efi.get_variable);
+     if (mode == efi_secureboot_mode_disabled)
              pr_info("ima: secureboot mode disabled\n");
-             return efi_secureboot_mode_disabled;
-     }
-
-     if (status != EFI_SUCCESS) {
+     else if (mode == efi_secureboot_mode_unknown)
              pr_info("ima: secureboot mode unknown\n");
-             return efi_secureboot_mode_unknown;
-     }
-
-     size = sizeof(setupmode);
-     status = efi.get_variable(L"SetupMode", &efi_variable_guid,
-                               NULL, &size, &setupmode);
-
-     if (status != EFI_SUCCESS)      /* ignore unknown SetupMode */
-             setupmode = 0;
-
-     if (secboot == 0 || setupmode == 1) {
-             pr_info("ima: secureboot mode disabled\n");
-             return efi_secureboot_mode_disabled;
-     }
-
-     pr_info("ima: secureboot mode enabled\n");
-     return efi_secureboot_mode_enabled;
+     else
+             pr_info("ima: secureboot mode enabled\n");
+     return mode;
 }
 
 bool arch_ima_get_secureboot(void)
@@ -57,7 +36,7 @@ bool arch_ima_get_secureboot(void)
      static bool initialized;
 
      if (!initialized && efi_enabled(EFI_BOOT)) {
-             sb_mode = boot_params.secure_boot;
+             sb_mode = arch_ima_efi_boot_mode;
 
              if (sb_mode == efi_secureboot_mode_unset)
                      sb_mode = get_sb_mode();
--

2.17.1

author maintainer
#8 lore raw

PATCH v4 3/3 arm64/ima: add ima_arch support

In reply to Ard Biesheuvel

From: Chester Lin <[email protected]>

Add arm64 IMA arch support. The code and arch policy is mainly inherited from x86.

---
 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/Kconfig +1 -0
index f858c352f72a..ea1b608a0fad 100644
@@ -200,6 +200,7 @@ config ARM64
 	select SWIOTLB
 	select SYSCTL_EXCEPTION_TRACE
 	select THREAD_INFO_IN_TASK
+	imply IMA_SECURE_AND_OR_TRUSTED_BOOT if EFI
 	help
 	  ARM 64-bit (AArch64) Linux support.
 
Signature · 1 line
2.17.1
maintainer
#10 lore raw
In reply to Ard Biesheuvel

Hi Ard, Chester,

Quoted 11 lines · Ard Biesheuvel

This is a follow-up to Chester's series [0] to enable IMA to the secure boot state of arm64 platforms, which is EFI based.

This v4 implements the changes I suggested to Chester, in particular:
- disregard MokSbState when factoring out secure boot mode discovery
- turn the x86 IMA arch code into shared code for all architectures.

This reduces the final patch to a one liner enabling a Kconfig option for arm64 when EFI is enabled.

Build tested only.

Thank you! This patch set is now queued in the linux-integrity next- integrity-testing branch.

Mimi

author maintainer
#11 lore raw
Quoted 11 lines · Mimi Zohar

Hi Ard, Chester,

Quoted 7 lines · Ard Biesheuvel

This is a follow-up to Chester's series [0] to enable IMA to the secure boot state of arm64 platforms, which is EFI based.

This v4 implements the changes I suggested to Chester, in particular:
- disregard MokSbState when factoring out secure boot mode discovery
- turn the x86 IMA arch code into shared code for all architectures.

Quoted 8 lines
Quoted 4 lines

This reduces the final patch to a one liner enabling a Kconfig option for arm64 when EFI is enabled.

Build tested only.

Thank you! This patch set is now queued in the linux-integrity next- integrity-testing branch.

I don't mind per se, but this touches a number of different trees, including x86 and arm64, and nobody has acked it yet.

As far as the EFI tree is concerned, it looks like I should be able to avoid any conflicts with other stuff that is in flight, and if not, we can always use your branch up until the last patch in this serires as a shared tag (assuming you won't rebase it).

maintainer
#12 lore raw
Quoted 21 lines · Ard Biesheuvel
Quoted 11 lines · Mimi Zohar

Hi Ard, Chester,

Quoted 7 lines · Ard Biesheuvel

This is a follow-up to Chester's series [0] to enable IMA to the secure boot state of arm64 platforms, which is EFI based.

This v4 implements the changes I suggested to Chester, in particular:
- disregard MokSbState when factoring out secure boot mode discovery
- turn the x86 IMA arch code into shared code for all architectures.

Quoted 8 lines
Quoted 4 lines

This reduces the final patch to a one liner enabling a Kconfig option for arm64 when EFI is enabled.

Build tested only.

Thank you! This patch set is now queued in the linux-integrity next- integrity-testing branch.

Quoted 7 lines

I don't mind per se, but this touches a number of different trees, including x86 and arm64, and nobody has acked it yet.

As far as the EFI tree is concerned, it looks like I should be able to avoid any conflicts with other stuff that is in flight, and if not, we can always use your branch up until the last patch in this serires as a shared tag (assuming you won't rebase it).

The next-integrity-testing branch is just a place holder waiting for additional tags. I've reviewed and tested the patch set on x86. Based on the secure boot status and how the kernel is configured, the
appropriate policy rules are enabled. Similarly the IMA appraise mode
(ima_appraise=) is working properly. I have not tested on arm64.

I do not have a problem with this patch set being upstream via EFI.

thanks,

Mimi

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

author maintainer
#13 lore raw
Quoted 31 lines · Mimi Zohar
Quoted 21 lines · Ard Biesheuvel
Quoted 11 lines · Mimi Zohar

Hi Ard, Chester,

Quoted 7 lines · Ard Biesheuvel

This is a follow-up to Chester's series [0] to enable IMA to the secure boot state of arm64 platforms, which is EFI based.

This v4 implements the changes I suggested to Chester, in particular:
- disregard MokSbState when factoring out secure boot mode discovery
- turn the x86 IMA arch code into shared code for all architectures.

Quoted 8 lines
Quoted 4 lines

This reduces the final patch to a one liner enabling a Kconfig option for arm64 when EFI is enabled.

Build tested only.

Thank you! This patch set is now queued in the linux-integrity next- integrity-testing branch.

Quoted 7 lines

I don't mind per se, but this touches a number of different trees, including x86 and arm64, and nobody has acked it yet.

As far as the EFI tree is concerned, it looks like I should be able to avoid any conflicts with other stuff that is in flight, and if not, we can always use your branch up until the last patch in this serires as a shared tag (assuming you won't rebase it).

Quoted 8 lines

The next-integrity-testing branch is just a place holder waiting for additional tags. I've reviewed and tested the patch set on x86. Based on the secure boot status and how the kernel is configured, the
appropriate policy rules are enabled. Similarly the IMA appraise mode
(ima_appraise=) is working properly. I have not tested on arm64.

I do not have a problem with this patch set being upstream via EFI.

Ah right. That is probably better, as EFI goes via the x86 tree, and I work closely with the arm64 maintainers on other things as well.

Please let me know once you are ready to ack this from IMA pov, and I will carry it further.

maintainer Acked-by
#14 lore raw
Quoted 8 lines · Ard Biesheuvel
Quoted 2 lines

I do not have a problem with this patch set being upstream via EFI.

Ah right. That is probably better, as EFI goes via the x86 tree, and I work closely with the arm64 maintainers on other things as well.

Please let me know once you are ready to ack this from IMA pov, and I will carry it further.

thanks,

author maintainer
#15 lore raw
Quoted 9 lines · Mimi Zohar
Quoted 6 lines · Ard Biesheuvel
Quoted 2 lines

I do not have a problem with this patch set being upstream via EFI.

Ah right. That is probably better, as EFI goes via the x86 tree, and I work closely with the arm64 maintainers on other things as well.

Quoted 7 lines
Quoted 2 lines

Please let me know once you are ready to ack this from IMA pov, and I will carry it further.

thanks,

Thanks Mimi