ACK: [PATCH] acpi: tpm2: add check for zero control area address (LP: #1506442)
ivanhu
ivan.hu at canonical.com
Wed Oct 21 02:52:51 UTC 2015
On 2015年10月15日 19:41, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> The kernel checks for zero addresses because of some AMI BIOS bugs
> setting this to zero, so we should probably check for this too.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/acpi/tpm2/tpm2.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/src/acpi/tpm2/tpm2.c b/src/acpi/tpm2/tpm2.c
> index 50a0e85..fbbb6fa 100644
> --- a/src/acpi/tpm2/tpm2.c
> +++ b/src/acpi/tpm2/tpm2.c
> @@ -1,7 +1,7 @@
> /*
> * Copyright (C) 2010-2015 Canonical
> *
> - * This program is free software; you can redistribute it and/or
> + * This program is free software; you can redistribute it and/or
> * modify it under the terms of the GNU General Public License
> * as published by the Free Software Foundation; either version 2
> * of the License, or (at your option) any later version.
> @@ -74,6 +74,18 @@ static int tpm2_test1(fwts_framework *fw)
> "TPM2's Start Method must be between one to eight, got 0x%" PRIx16,
> tpm2->start_method);
> }
> + /*
> + * Kernel: drivers/char/tpm/tpm_crb.c checks for a zero address for
> + * the control area because some versions of AMI BIOS have a bug where
> + * this address is zero and the kernel driver aborts on this.
> + */
> + if (!tpm2->address_of_control_area) {
> + passed = false;
> + fwts_failed(fw, LOG_LEVEL_HIGH,
> + "TPM2BadControlAreaAddress",
> + "TPM2's Control Area Address is expected to be non-zero, got 0x%16.16" PRIx64,
> + tpm2->address_of_control_area);
> + }
>
> if (tpm2->start_method == 2 && table->length != sizeof(fwts_acpi_table_tpm2) + 4) {
> passed = false;
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list