Skip to content

Commit

Permalink
powerpc: Detect the trusted boot state of the system
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Eric Richter <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
  • Loading branch information
naynajain authored and mpe committed Nov 12, 2019
1 parent 4238fad commit 2702809
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
6 changes: 6 additions & 0 deletions arch/powerpc/include/asm/secure_boot.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#ifdef CONFIG_PPC_SECURE_BOOT

bool is_ppc_secureboot_enabled(void);
bool is_ppc_trustedboot_enabled(void);

#else

Expand All @@ -19,5 +20,10 @@ static inline bool is_ppc_secureboot_enabled(void)
return false;
}

static inline bool is_ppc_trustedboot_enabled(void)
{
return false;
}

#endif
#endif
15 changes: 15 additions & 0 deletions arch/powerpc/kernel/secure_boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

0 comments on commit 2702809

Please sign in to comment.