Commit 2702809a authored by Nayna Jain's avatar Nayna Jain Committed by Michael Ellerman

powerpc: Detect the trusted boot state of the system

While secure boot permits only properly verified signed kernels to be
booted, trusted boot calculates the file hash of the kernel image and
stores the measurement prior to boot, that can be subsequently
compared against good known values via attestation services.

This patch reads the trusted boot state of a PowerNV system. The state
is used to conditionally enable additional measurement rules in the
IMA arch-specific policies.
Signed-off-by: default avatarNayna Jain <nayna@linux.ibm.com>
Signed-off-by: default avatarEric Richter <erichte@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/e9eeee6b-b9bf-1e41-2954-61dbd6fbfbcf@linux.ibm.com
parent 4238fad3
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#ifdef CONFIG_PPC_SECURE_BOOT #ifdef CONFIG_PPC_SECURE_BOOT
bool is_ppc_secureboot_enabled(void); bool is_ppc_secureboot_enabled(void);
bool is_ppc_trustedboot_enabled(void);
#else #else
...@@ -19,5 +20,10 @@ static inline bool is_ppc_secureboot_enabled(void) ...@@ -19,5 +20,10 @@ static inline bool is_ppc_secureboot_enabled(void)
return false; return false;
} }
static inline bool is_ppc_trustedboot_enabled(void)
{
return false;
}
#endif #endif
#endif #endif
...@@ -33,3 +33,18 @@ bool is_ppc_secureboot_enabled(void) ...@@ -33,3 +33,18 @@ bool is_ppc_secureboot_enabled(void)
return enabled; return enabled;
} }
bool is_ppc_trustedboot_enabled(void)
{
struct device_node *node;
bool enabled = false;
node = get_ppc_fw_sb_node();
enabled = of_property_read_bool(node, "trusted-enabled");
of_node_put(node);
pr_info("Trusted boot mode %s\n", enabled ? "enabled" : "disabled");
return enabled;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment