diff options
author | Nayna Jain <nayna@linux.ibm.com> | 2019-11-05 17:02:07 -0600 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2019-11-12 12:25:49 +1100 |
commit | 2702809a4a1ab414d75c00936cda70ea77c8234e (patch) | |
tree | 73a331f2f9de6ec65b20fba05d78e1deb5183a32 /arch/powerpc/kernel/secure_boot.c | |
parent | 4238fad366a660cbc6499ca1ea4be42bd4d1ac5b (diff) |
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: Nayna Jain <nayna@linux.ibm.com>
Signed-off-by: Eric Richter <erichte@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/e9eeee6b-b9bf-1e41-2954-61dbd6fbfbcf@linux.ibm.com
Diffstat (limited to 'arch/powerpc/kernel/secure_boot.c')
-rw-r--r-- | arch/powerpc/kernel/secure_boot.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/secure_boot.c b/arch/powerpc/kernel/secure_boot.c index 583c2c4edaf0..4b982324d368 100644 --- a/arch/powerpc/kernel/secure_boot.c +++ b/arch/powerpc/kernel/secure_boot.c @@ -33,3 +33,18 @@ bool is_ppc_secureboot_enabled(void) 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; +} |