diff options
author | Josh Zimmerman <joshz@google.com> | 2016-10-28 00:50:09 +0300 |
---|---|---|
committer | Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> | 2016-11-28 02:31:30 +0300 |
commit | 26a137e31ffe6fbfdb008554a8d9b3d55bd5c86e (patch) | |
tree | d219a64c584e644ae910aa2979d13fe95a43afbe /drivers/char/tpm/tpm-interface.c | |
parent | ca6d45802201c2680af040579af7697049149e38 (diff) | |
download | linux-26a137e31ffe6fbfdb008554a8d9b3d55bd5c86e.tar.xz |
tpm_tis: Check return values from get_burstcount.
If the TPM we're connecting to uses a static burst count, it will report
a burst count of zero throughout the response read. However, get_burstcount
assumes that a response of zero indicates that the TPM is not ready to
receive more data. In this case, it returns a negative error code, which
is passed on to tpm_tis_{write,read}_bytes as a u16, causing
them to read/write far too many bytes.
This patch checks for negative return codes and bails out from recv_data
and tpm_tis_send_data.
Cc: stable@vger.kernel.org
Fixes: 1107d065fdf1 (tpm_tis: Introduce intermediate layer for TPM access)
Signed-off-by: Josh Zimmerman <joshz@google.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Diffstat (limited to 'drivers/char/tpm/tpm-interface.c')
0 files changed, 0 insertions, 0 deletions