diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2018-03-14 20:37:31 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-03-14 20:37:31 +0100 |
commit | b0d8bef8ed805ca92eb91e86acf3ce89cbebc8ce (patch) | |
tree | 8838391a76f0cf75ffcd31166996d03d19c580a6 /drivers/char/tpm/tpm2-cmd.c | |
parent | 82b691bedf05f258f1c86c96ee574b0d7795c0a1 (diff) | |
parent | fc6eabbbf8ef99efed778dd5afabc83c21dba585 (diff) | |
download | blackbird-op-linux-b0d8bef8ed805ca92eb91e86acf3ce89cbebc8ce.tar.gz blackbird-op-linux-b0d8bef8ed805ca92eb91e86acf3ce89cbebc8ce.zip |
Merge branch 'linus' into irq/core to pick up dependencies.
Diffstat (limited to 'drivers/char/tpm/tpm2-cmd.c')
-rw-r--r-- | drivers/char/tpm/tpm2-cmd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index c17e75348a99..a700f8f9ead7 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -683,6 +683,10 @@ static int tpm2_unseal_cmd(struct tpm_chip *chip, if (!rc) { data_len = be16_to_cpup( (__be16 *) &buf.data[TPM_HEADER_SIZE + 4]); + if (data_len < MIN_KEY_SIZE || data_len > MAX_KEY_SIZE + 1) { + rc = -EFAULT; + goto out; + } rlength = be32_to_cpu(((struct tpm2_cmd *)&buf) ->header.out.length); |