Set the size of the tpm_buf correctly. Now it is set to the header
length by tpm_buf_init().

Reported-by: Mimi Zohar <[email protected]>
Cc: [email protected]
Fixes: 412eb585587a ("use tpm_buf in tpm_transmit_cmd() as the IO parameter")
Signed-off-by: Jarkko Sakkinen <[email protected]>
---
 drivers/char/tpm/tpm-interface.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
index d9ace5480665..4aa7e7f91139 100644
--- a/drivers/char/tpm/tpm-interface.c
+++ b/drivers/char/tpm/tpm-interface.c
@@ -363,6 +363,8 @@ int tpm_send(struct tpm_chip *chip, void *cmd, size_t 
buflen)
                goto out;
 
        memcpy(buf.data, cmd, buflen);
+       buf.length = buflen;
+
        rc = tpm_transmit_cmd(chip, &buf, 0, "attempting to a send a command");
        tpm_buf_destroy(&buf);
 out:
-- 
2.20.1

Reply via email to