summaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm/tpm_crb.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-07-31 10:23:35 +0200
committerIngo Molnar <mingo@kernel.org>2015-07-31 10:23:35 +0200
commit5b929bd11df23922daf1be5d52731cc3900c1d79 (patch)
tree105fa5987b03c9f4e0260a9eb04dff7bb3d16839 /drivers/char/tpm/tpm_crb.c
parentb2c51106c7581866c37ffc77c5d739f3d4b7cbc9 (diff)
parent37868fe113ff2ba814b3b4eb12df214df555f8dc (diff)
downloadblackbird-op-linux-5b929bd11df23922daf1be5d52731cc3900c1d79.tar.gz
blackbird-op-linux-5b929bd11df23922daf1be5d52731cc3900c1d79.zip
Merge branch 'x86/urgent' into x86/asm, before applying dependent patches
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/char/tpm/tpm_crb.c')
-rw-r--r--drivers/char/tpm/tpm_crb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
index 44f9d20c19ac..1267322595da 100644
--- a/drivers/char/tpm/tpm_crb.c
+++ b/drivers/char/tpm/tpm_crb.c
@@ -233,6 +233,14 @@ static int crb_acpi_add(struct acpi_device *device)
return -ENODEV;
}
+ /* At least some versions of AMI BIOS have a bug that TPM2 table has
+ * zero address for the control area and therefore we must fail.
+ */
+ if (!buf->control_area_pa) {
+ dev_err(dev, "TPM2 ACPI table has a zero address for the control area\n");
+ return -EINVAL;
+ }
+
if (buf->hdr.length < sizeof(struct acpi_tpm2)) {
dev_err(dev, "TPM2 ACPI table has wrong size");
return -EINVAL;
OpenPOWER on IntegriCloud