Skip to content

Commit

Permalink
tpm: Remove tpm_send()
Browse files Browse the repository at this point in the history
Open code the last remaining call site for tpm_send().

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Tested-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
  • Loading branch information
jarkkojs committed May 9, 2024
1 parent cf792e9 commit 4f0feb5
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 32 deletions.
25 changes: 0 additions & 25 deletions drivers/char/tpm/tpm-interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -342,31 +342,6 @@ int tpm_pcr_extend(struct tpm_chip *chip, u32 pcr_idx,
}
EXPORT_SYMBOL_GPL(tpm_pcr_extend);

/**
* tpm_send - send a TPM command
* @chip: a &struct tpm_chip instance, %NULL for the default chip
* @cmd: a TPM command buffer
* @buflen: the length of the TPM command buffer
*
* Return: same as with tpm_transmit_cmd()
*/
int tpm_send(struct tpm_chip *chip, void *cmd, size_t buflen)
{
struct tpm_buf buf;
int rc;

chip = tpm_find_get_ops(chip);
if (!chip)
return -ENODEV;

buf.data = cmd;
rc = tpm_transmit_cmd(chip, &buf, 0, "attempting to a send a command");

tpm_put_ops(chip);
return rc;
}
EXPORT_SYMBOL_GPL(tpm_send);

int tpm_auto_startup(struct tpm_chip *chip)
{
int rc;
Expand Down
5 changes: 0 additions & 5 deletions include/linux/tpm.h
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,6 @@ extern int tpm_pcr_read(struct tpm_chip *chip, u32 pcr_idx,
struct tpm_digest *digest);
extern int tpm_pcr_extend(struct tpm_chip *chip, u32 pcr_idx,
struct tpm_digest *digests);
extern int tpm_send(struct tpm_chip *chip, void *cmd, size_t buflen);
extern int tpm_get_random(struct tpm_chip *chip, u8 *data, size_t max);
extern struct tpm_chip *tpm_default_chip(void);
void tpm2_flush_context(struct tpm_chip *chip, u32 handle);
Expand All @@ -443,10 +442,6 @@ static inline int tpm_pcr_extend(struct tpm_chip *chip, u32 pcr_idx,
return -ENODEV;
}

static inline int tpm_send(struct tpm_chip *chip, void *cmd, size_t buflen)
{
return -ENODEV;
}
static inline int tpm_get_random(struct tpm_chip *chip, u8 *data, size_t max)
{
return -ENODEV;
Expand Down
14 changes: 12 additions & 2 deletions security/keys/trusted-keys/trusted_tpm1.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,17 +356,27 @@ static int TSS_checkhmac2(unsigned char *buffer,
*/
int trusted_tpm_send(unsigned char *cmd, size_t buflen)
{
struct tpm_buf buf;
int rc;

if (!chip)
return -ENODEV;

rc = tpm_try_get_ops(chip);
if (rc)
return rc;

buf.flags = 0;
buf.data = cmd;
dump_tpm_buf(cmd);
rc = tpm_send(chip, cmd, buflen);
rc = tpm_transmit_cmd(chip, &buf, 4, "sending data");
dump_tpm_buf(cmd);

if (rc > 0)
/* Can't return positive return codes values to keyctl */
/* TPM error */
rc = -EPERM;

tpm_put_ops(chip);
return rc;
}
EXPORT_SYMBOL_GPL(trusted_tpm_send);
Expand Down

0 comments on commit 4f0feb5

Please sign in to comment.