mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 18:53:52 +08:00
ima: Get rid of ima_used_chip and use ima_tpm_chip != NULL instead
Get rid of ima_used_chip and use ima_tpm_chip variable instead for determining whether to use the TPM chip. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
This commit is contained in:
parent
5c2a640aff
commit
ec403d8ed0
@ -53,7 +53,6 @@ enum tpm_pcrs { TPM_PCR0 = 0, TPM_PCR8 = 8 };
|
|||||||
extern int ima_policy_flag;
|
extern int ima_policy_flag;
|
||||||
|
|
||||||
/* set during initialization */
|
/* set during initialization */
|
||||||
extern int ima_used_chip;
|
|
||||||
extern int ima_hash_algo;
|
extern int ima_hash_algo;
|
||||||
extern int ima_appraise;
|
extern int ima_appraise;
|
||||||
extern struct tpm_chip *ima_tpm_chip;
|
extern struct tpm_chip *ima_tpm_chip;
|
||||||
|
@ -631,7 +631,7 @@ int ima_calc_buffer_hash(const void *buf, loff_t len,
|
|||||||
|
|
||||||
static void __init ima_pcrread(int idx, u8 *pcr)
|
static void __init ima_pcrread(int idx, u8 *pcr)
|
||||||
{
|
{
|
||||||
if (!ima_used_chip)
|
if (!ima_tpm_chip)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (tpm_pcr_read(ima_tpm_chip, idx, pcr) != 0)
|
if (tpm_pcr_read(ima_tpm_chip, idx, pcr) != 0)
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
/* name for boot aggregate entry */
|
/* name for boot aggregate entry */
|
||||||
static const char *boot_aggregate_name = "boot_aggregate";
|
static const char *boot_aggregate_name = "boot_aggregate";
|
||||||
int ima_used_chip;
|
|
||||||
struct tpm_chip *ima_tpm_chip;
|
struct tpm_chip *ima_tpm_chip;
|
||||||
|
|
||||||
/* Add the boot aggregate to the IMA measurement list and extend
|
/* Add the boot aggregate to the IMA measurement list and extend
|
||||||
@ -65,7 +64,7 @@ static int __init ima_add_boot_aggregate(void)
|
|||||||
iint->ima_hash->algo = HASH_ALGO_SHA1;
|
iint->ima_hash->algo = HASH_ALGO_SHA1;
|
||||||
iint->ima_hash->length = SHA1_DIGEST_SIZE;
|
iint->ima_hash->length = SHA1_DIGEST_SIZE;
|
||||||
|
|
||||||
if (ima_used_chip) {
|
if (ima_tpm_chip) {
|
||||||
result = ima_calc_boot_aggregate(&hash.hdr);
|
result = ima_calc_boot_aggregate(&hash.hdr);
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
audit_cause = "hashing_error";
|
audit_cause = "hashing_error";
|
||||||
@ -110,9 +109,7 @@ int __init ima_init(void)
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
ima_tpm_chip = tpm_default_chip();
|
ima_tpm_chip = tpm_default_chip();
|
||||||
|
if (!ima_tpm_chip)
|
||||||
ima_used_chip = ima_tpm_chip != NULL;
|
|
||||||
if (!ima_used_chip)
|
|
||||||
pr_info("No TPM chip found, activating TPM-bypass!\n");
|
pr_info("No TPM chip found, activating TPM-bypass!\n");
|
||||||
|
|
||||||
rc = integrity_init_keyring(INTEGRITY_KEYRING_IMA);
|
rc = integrity_init_keyring(INTEGRITY_KEYRING_IMA);
|
||||||
|
@ -142,7 +142,7 @@ static int ima_pcr_extend(const u8 *hash, int pcr)
|
|||||||
{
|
{
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
|
||||||
if (!ima_used_chip)
|
if (!ima_tpm_chip)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
result = tpm_pcr_extend(ima_tpm_chip, pcr, hash);
|
result = tpm_pcr_extend(ima_tpm_chip, pcr, hash);
|
||||||
|
Loading…
Reference in New Issue
Block a user