diff options
Diffstat (limited to 'drivers/char/tpm/tpm.c')
-rw-r--r-- | drivers/char/tpm/tpm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index b0603b2e5684..47c2d2763456 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
@@ -696,8 +696,7 @@ int __tpm_pcr_read(struct tpm_chip *chip, int pcr_idx, u8 *res_buf) | |||
696 | 696 | ||
697 | cmd.header.in = pcrread_header; | 697 | cmd.header.in = pcrread_header; |
698 | cmd.params.pcrread_in.pcr_idx = cpu_to_be32(pcr_idx); | 698 | cmd.params.pcrread_in.pcr_idx = cpu_to_be32(pcr_idx); |
699 | BUILD_BUG_ON(cmd.header.in.length > READ_PCR_RESULT_SIZE); | 699 | rc = transmit_cmd(chip, &cmd, READ_PCR_RESULT_SIZE, |
700 | rc = transmit_cmd(chip, &cmd, cmd.header.in.length, | ||
701 | "attempting to read a pcr value"); | 700 | "attempting to read a pcr value"); |
702 | 701 | ||
703 | if (rc == 0) | 702 | if (rc == 0) |
@@ -742,7 +741,7 @@ EXPORT_SYMBOL_GPL(tpm_pcr_read); | |||
742 | * the module usage count. | 741 | * the module usage count. |
743 | */ | 742 | */ |
744 | #define TPM_ORD_PCR_EXTEND cpu_to_be32(20) | 743 | #define TPM_ORD_PCR_EXTEND cpu_to_be32(20) |
745 | #define EXTEND_PCR_SIZE 34 | 744 | #define EXTEND_PCR_RESULT_SIZE 34 |
746 | static struct tpm_input_header pcrextend_header = { | 745 | static struct tpm_input_header pcrextend_header = { |
747 | .tag = TPM_TAG_RQU_COMMAND, | 746 | .tag = TPM_TAG_RQU_COMMAND, |
748 | .length = cpu_to_be32(34), | 747 | .length = cpu_to_be32(34), |
@@ -760,10 +759,9 @@ int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash) | |||
760 | return -ENODEV; | 759 | return -ENODEV; |
761 | 760 | ||
762 | cmd.header.in = pcrextend_header; | 761 | cmd.header.in = pcrextend_header; |
763 | BUILD_BUG_ON(be32_to_cpu(cmd.header.in.length) > EXTEND_PCR_SIZE); | ||
764 | cmd.params.pcrextend_in.pcr_idx = cpu_to_be32(pcr_idx); | 762 | cmd.params.pcrextend_in.pcr_idx = cpu_to_be32(pcr_idx); |
765 | memcpy(cmd.params.pcrextend_in.hash, hash, TPM_DIGEST_SIZE); | 763 | memcpy(cmd.params.pcrextend_in.hash, hash, TPM_DIGEST_SIZE); |
766 | rc = transmit_cmd(chip, &cmd, cmd.header.in.length, | 764 | rc = transmit_cmd(chip, &cmd, EXTEND_PCR_RESULT_SIZE, |
767 | "attempting extend a PCR value"); | 765 | "attempting extend a PCR value"); |
768 | 766 | ||
769 | module_put(chip->dev->driver->owner); | 767 | module_put(chip->dev->driver->owner); |